Take advantage of the DispatchProxy class in C# to implement aspect-oriented programming by creating proxies that dynamically intercept method calls.
Aspect-oriented programming allows you to isolate the cross-cutting concerns of your application, reduce code duplication, and improve the readability and maintainability of your code.
Take advantage of the new Task.WhenEach method to process asynchronous tasks as they complete, enhancing the efficiency of your .NET applications.
A good knowledge of exception handling is needed to build applications that are capable of handling runtime errors efficiently. Start with these simple guidelines.
Take advantage of the Result pattern, the Try-Parse pattern, and other techniques to make error handling more explicit and to avoid writing exception handling code in your .NET applications.
Take advantage of the FluentValidation open-source library to validate data in your ASP.NET Core application and keep your code clean, organized, and maintainable.
C# 13 introduces several new features that make it easier to build modern applications including enhanced params collections and a new Lock API that improves thread synchronization.
HybridCache is a new API in .NET 9 that brings additional features, benefits, and ease to caching in ASP.NET Core. Here’s how to take advantage of it.
Understanding the differences between an abstract class and interface is key to designing loosely coupled and extensible applications.
Learn the best practices and built-in safeguards for preventing attacks and protecting sensitive data in your ASP.NET Core web applications.
Take advantage of improved identity management in ASP.NET Core to implement identity-based authentication for minimal APIs quickly, easily, and with less code.
Lightweight and fast SQLite shines as a development companion. Learn how to take advantage of it in ASP.NET Core.
How to implement basic password authentication for a minimal API in ASP.NET Core using a custom authentication handler that validates the user’s credentials against a database.
Parameter binding from forms, antiforgery tokens, and Native AOT are now supported in ASP.NET Core. Here’s how to take advantage of them.
Take advantage of connection resiliency in EF Core to detect errors and retry commands and enable your ASP.NET Core application to overcome transient faults.
The new SearchValues class takes advantage of vectorization and hardware acceleration to speed up repeated searches in .NET 8.
Understand the pitfalls of using enumeration types in the domain layer of your .NET applications and the advantages of using record types instead.
Embrace the request-endpoint-response design pattern to simplify API development and make your code cleaner, more efficient, and easier to maintain.