Azure Event Grid with .NET: Event-Driven Architecture Made Simple
How to publish and subscribe to events using Azure Event Grid in .NET applications for loosely coupled, event-driven architectures.
Cosmos DB with the .NET SDK: Practical Patterns
How to work effectively with Azure Cosmos DB using the .NET SDK, covering client setup, CRUD operations, partitioning, and query patterns.
FluentAssertions Patterns for Clearer .NET Tests
Practical patterns for using FluentAssertions to write expressive, self-documenting test assertions in .NET.
Azure SignalR Service: Real-Time .NET Without the Infrastructure
How to offload SignalR connection management to Azure SignalR Service for scalable real-time .NET applications.
Azure Container Apps for .NET Developers
How to deploy and scale .NET applications on Azure Container Apps with Dapr integration, scaling rules, and managed ingress.
Snapshot Testing in .NET with Verify
Use the Verify library to catch unintended changes in your API responses, serialised objects, and complex outputs through snapshot testing.
Managed Identity for .NET Apps: Eliminating Secrets
How to use Azure Managed Identity to authenticate .NET applications to Azure services without storing credentials.
Azure Static Web Apps with a .NET API Backend
How to pair a static frontend with an Azure Functions-based .NET API using Azure Static Web Apps.
Moq vs NSubstitute: .NET Mocking Libraries Compared
A head-to-head comparison of Moq and NSubstitute covering syntax, features, and which to choose for your .NET tests.
Profile-Guided Optimisation (PGO) in .NET
How dynamic and static PGO let the JIT compiler make smarter optimisation decisions based on real runtime behaviour.
Azure App Configuration for .NET: Centralised Settings and Feature Flags
How to centralise application settings and feature flags using Azure App Configuration with the .NET configuration system.
Azure Key Vault as a Configuration Provider in .NET
How to use Azure Key Vault as a configuration source in .NET applications, replacing hardcoded secrets with secure, centralised management.
ValueTask vs Task: When to Use Which
Understand when ValueTask<T> offers genuine performance benefits over Task<T> and when it introduces unnecessary risk.
Azure Service Bus with .NET: Queues, Topics, and Reliable Messaging
How to send and receive messages with Azure Service Bus using the Azure.Messaging.ServiceBus SDK in .NET applications.
Azure Blob Storage Patterns for .NET Applications
Practical patterns for uploading, downloading, and managing blobs in .NET using the Azure.Storage.Blobs SDK.
SIMD and Vector<T> in .NET
Leverage hardware SIMD instructions through Vector<T> and Vector128/256 to process data in parallel on a single core.
Azure Functions Isolated Worker Model: The Modern Approach
How to build Azure Functions using the isolated worker model for full control over dependencies, middleware, and startup configuration.
xUnit vs NUnit vs MSTest: Choosing Your .NET Test Framework
A practical comparison of the three major .NET test frameworks to help you pick the right one for your project.
Struct Layout and Padding in .NET
Understand how the CLR lays out struct fields in memory and how padding affects performance and memory usage.
GC Generations and the Large Object Heap Explained
How .NET's generational garbage collector works, and why the Large Object Heap deserves special attention.
GC Workstation vs Server Mode in .NET
Understand the difference between workstation and server garbage collection modes and when to use each.
JSON Columns in EF Core: Storing Complex Objects as JSON
How to map complex .NET objects to JSON columns in EF Core 7+, enabling flexible schemas while keeping LINQ query support.
Bulk Operations in EF Core: ExecuteUpdate, ExecuteDelete, and Beyond
How to perform efficient bulk updates and deletes in EF Core 7+ using ExecuteUpdate and ExecuteDelete, bypassing the change tracker.
Raw SQL in EF Core: FromSqlInterpolated and Beyond
When and how to use raw SQL in EF Core with FromSqlInterpolated, FromSqlRaw, and SqlQuery, while staying safe from SQL injection.
Response Caching vs Output Caching in ASP.NET Core
Understand the differences between response caching and output caching in ASP.NET Core, when to use each, and how to configure cache policies and invalidation.