Build an API gateway using YARP in ASP.NET Core
Take advantage of an API gateway to provide a single point of entry to your back-end services and keep your services secure. YARP makes it easy.
How to build a microservice in ASP.NET Core
A microservices architecture can help you build applications that are flexible, scalable, and easy to maintain. Here’s how to get started with microservices in ASP.NET Core.
How to improve API security in ASP.NET Core
Take advantage of authentication and authorization, API keys, rate limiting, CORS, API versioning, and other recommended practices to build secure and robust APIs in ASP.NET Core.
How to improve data access performance in EF Core
Take advantage of these 10 strategies to improve data access performance when using Entity Framework Core in your data-driven .NET applications.
How to use Fluent Assertions in C#
When unit tests fail, they should clearly explain why. Take advantage of the Fluent Assertions library to write unit test methods that are simple, readable, concise, and expressive.
How to handle null values in C#
Null pointer exceptions are no fun. You can avoid them and keep your code clean and maintainable by using these techniques to elegantly handle null values in C#.
How to use the is and as operators in C#
Take advantage of the is and as operators in C# to perform casting operations elegantly and write code that is well structured, concise, and maintainable.
How to use API keys to secure web APIs in ASP.NET Core
Take advantage of API key authentication to control the access of applications and services to your Web APIs in ASP.NET Core.
How to work with Azure Key Vault in .NET Core
Azure Key Vault is a safe and secure place to store the tokens, keys, passwords, certificates, and other sensitive data used in your .NET Core applications. Here’s how to work with it in C#.
How to avoid spaghetti code in C#
Spaghetti is good eating but bad programming. Follow these 10 best practices to keep your C# code clean, lean, and easy to maintain.
Composition vs. inheritance in OOP and C#
Understand the key concepts behind composition and inheritance that allow you to build reusable and flexible types in your .NET applications.
How to use advanced Dapper features in ASP.NET Core
Take advantage of stored procedures, query pagination, query caching, and other advanced Dapper feature to simplify data access and ensure high performance.
How to use factory-based middleware activation in ASP.NET Core
Factory-based middleware activation is a more flexible and dynamic approach to configuring and activating middleware components. Here’s how to take advantage of it in ASP.NET Core 7.
How to use the rate limiting algorithms in ASP.NET Core
Learn how to use the fixed window, sliding window, token bucket, and concurrency algorithms in ASP.NET Core 7 to protect your applications and APIs against malicious attacks or overuse.
How to use response compression in ASP.NET Core
Take advantage of response compression middleware in ASP.NET Core to reduce bandwidth requirements and improve the responsiveness of your apps.
How to use request decompression in ASP.NET Core 7
Take advantage of the request decompression middleware in ASP.NET Core 7 to enable your API endpoints to accept requests that contain compressed content.
Applying the DRY, KISS, and YAGNI principles in C#
If you don’t repeat yourself, keep it simple, and implement only the functionality you really truly need, your C# code will be cleaner, simpler, and much easier to maintain.
How to use the unit of work pattern in ASP.NET Core
Take advantage of the unit of work design pattern to build flexible, extensible, and reusable data access layers in your ASP.NET Core applications.
Get started with the rate limiting middleware in ASP.NET Core 7
Take advantage of the new rate limiting middleware in ASP.NET Core 7 to protect against malicious attacks on your applications and ensure equitable use of server resources.
How to work with EF Core migrations in ASP.NET Core
Take advantage of migrations in EF Core to manage database schema changes over time and keep them in sync with the data models of your ASP.NET Core applications.