How to Use Shouldly to Improve Unit Tests in .NET?
In this article, we are going to explore Shouldly. Shouldly is a library that improves the quality of our tests.
ASP.NET Core rate limiting middleware in .NET 7
Starting with .NET 7, ASP.NET Core includes a built-in rate limiting middleware, which can be used to rate limit web applications and APIs. In this blog post, we’ll take a look at how to configure and use the rate limiting middleware in ASP.NET Core.
AutoMapper vs Mapster in .NET
In this article, we are going to compare the popular object mapping libraries AutoMapper and Mapster. Later, we’ll do a performance benchmark to find the most performant one.
Using multiple JSON serialization settings in ASP.NET Core
My blog has been a bit quiet in the last 18 months or so, because, well, life happened… In that time span I became a father, changed jobs twice, and relocated to Canada with my family, so free time has been scarce. Anyway, I recently ran into a problem that I found worthy of a blog post, and I have a bit of time to write!
.NET MAUI in .NET 7 Release Candidate 1
Today we are excited to announce the availability of .NET Multi-platform App UI (MAUI) in .NET 7 release candidate 1 (RC1) with the release of Visual Studio 17.4 Preview 2.1. This includes the foundational SDKs .NET for Android, iOS, Mac Catalyst, and macOS. With the Tizen workload installed, the same code also runs on numerous Samsung devices including phones, televisions, appliances, and wearables.
.NET Framework September 2022 Cumulative Update Preview
Today, we are releasing the September 2022 Cumulative Update Preview for .NET Framework. This release contains the following quality and reliability improvements...
ASP.NET Core updates in .NET 7 Release Candidate 1
.NET 7 Release Candidate 1 (RC1) is now available and includes many great new improvements to ASP.NET Core.
.NET September 2022 Updates – .NET 6.0.9 and .NET Core 3.1.29
Today, we are releasing the .NET September 2022 Updates. These updates contain security and non-security improvements. Your app may be vulnerable if you have not deployed a recent .NET update. You can download 6.0.9 and 3.1.29 versions for Windows, macOS, and Linux, for x86, x64, Arm32, and Arm64.
.NET Framework September 2022 Security and Quality Rollup
Today, we are releasing the September 2022 Security and Quality Rollup for .NET Framework.Security: .NET Framework Remote Code Execution Vulnerability. This security update addresses an issue where an attacker could convince a local user to open a specially crafted file which could execute malicious code on an affected system...
Improving Unit Tests with Fluent Assertions
Unit tests are usually a must-have part of building and maintaining a software application. Fluent Assertions is a wonderful library of extension methods. Due to the nature of the library, the code reads like a written sentence. In this article, we will review many methods Fluent Assertions offers as well as its unique features.
MvvmCross 9.0.0
It has been a little while since the last MvvmCross release, but here is a bit one. Today we announce MvvmCross 9.0.0! This version of MvvmCross is now only targeting .NET 6.0 all old target frameworks have been removed. This improves quality of life significantly when working on MvvmCross, and lessens the amount of targets we have.
Any() vs Count() in .NET: Which One is Better?
In this article, we are going to learn the main differences between Any and Count methods from LINQ. We work with different collections in C# all the time, and we often need to check if there are any records inside the collection or if it is empty. Both methods can help us to achieve that. We are going to see how each method works internally and compare the efficiency of each approach to determine which one we should use in specific use cases.
Working with System.Random and threads safely in .NET Core and .NET Framework
In this post I look at some of the ways you can misuse System.Random for generating random numbers, specifically around thread safety. I start by showing how to use the built-in thread-safe Random generator in .NET 6. I then step back to previous .NET Core implementations, before the thread-safe Random generator was added, and show how to add your own. Finally, we take one more step back to .NET Framework, and look at he issues that arise there.
Developing Error Handling Strategies for Asynchronous Messaging
I’m furiously working on what I hope is the last sprint toward a big new Jasper 2.0 release. Part of that work has been a big overhaul of the error handling strategies with an eye toward solving the real world problems I’ve personally experienced over the years doing asynchronous messaging in enterprise applications.
How to Test a REST API with .NET and xUnit
In this article, we are going to cover how and why we should test a REST API with .NET and xUnit. We’ll discuss why this is important, and how to actually test various components of an API response to ensure requirements are being met.
How to Implement Lucene.NET
In this article, we are going to be learning how to implement Lucene.NET in C#. We will cover the entire process from installing the library, to indexing and searching.
Announcing .NET Conf - Focus on .NET MAUI, Reactor, and Community Events
Now that .NET MAUI is released, it’s time to get started building your first cross-platform applications! We’ve got a lot of exciting things planned for the next few months to help you get started, including a full day .NET Conf Focus event, worldwide Reactor events, and local community event opportunities.
Customizing Controls in .NET MAUI
Today, I want to talk about and show you the ways that you can completely customize controls in .NET MAUI. Before looking at .NET MAUI let’s move back a couple years, back to the Xamarin.Forms era. Back then, we had a couple of ways to customize controls: We had Behaviors that are used when you don’t need to access the platform-specific APIs in order to customize controls; and we had Effects if you need to access the platform-specific APIs.
Announcing Rate Limiting for .NET
We’re excited to announce built-in Rate Limiting support as part of .NET 7. Rate limiting provides a way to protect a resource in order to avoid overwhelming your app and keep traffic at a safe level.
.NET July 2022 Updates – .NET 6.0.7 and .NET Core 3.1.27
Today, we are releasing the .NET July 2022 Updates. These updates contain reliability and non-security improvements. Your app may be vulnerable if you have not deployed a recent .NET update. You can download 6.0.7 and 3.1.27 versions for Windows, macOS, and Linux, for x86, x64, Arm32, and Arm64.