Durable Workflows in the Microsoft Agent Framework: From Prototype to Production
The Microsoft Agent Framework can define multi-agent workflows, but they vanish when the process dies. The Durable Task extension fixes that, taking your workflows from in-memory prototypes to fault-tolerant, scalable Azure Functions deployments without changing your workflow code.
Orleans: The Virtual Actor Framework That Makes Distributed .NET Feel Like Local Code
Orleans turns distributed systems into a problem you already know how to solve. Its virtual actor model lets you write single-server C# that the runtime scales across a cluster, handling activation, placement, and fault recovery behind the scenes.
Microsoft Agent Framework 1.0: Building AI Agents in .NET Without the Guesswork
Microsoft Agent Framework 1.0 merges Semantic Kernel and AutoGen into a single, production-ready SDK for building AI agents in .NET. Here is what the unified model looks like, how tools and middleware work, and where workflows fit in.
Dependency Injection in .NET MAUI: The Built-In Container
How to use the built-in Microsoft.Extensions.DependencyInjection container in .NET MAUI for pages, view models, and platform services.
SignalR Hub Patterns: Structuring Real-Time Endpoints in .NET
Explore common patterns for organising SignalR hubs in .NET applications, from simple chat examples to well-structured production code.
State Management Patterns in Blazor
Practical approaches to managing state in Blazor applications, from simple services to Fluxor.
The Result Pattern for Error Handling in .NET
How to replace exceptions with the Result pattern in .NET for predictable, composable error handling in your domain and application layers.
The Decorator Pattern with Dependency Injection in .NET
How to use the decorator pattern with .NET's DI container to add cross-cutting concerns like caching, logging, and retry logic without modifying existing code.
Feature Flags in .NET with Microsoft.FeatureManagement
How to implement feature flags in .NET using Microsoft.FeatureManagement for safe deployments, A/B testing, and gradual rollouts.
The Modular Monolith in .NET: Best of Both Worlds
How to structure a modular monolith in .NET that gives you the boundaries of microservices without the operational complexity.
Event Sourcing Basics in .NET
An introduction to event sourcing in .NET, covering event stores, aggregate rehydration, and projections with practical code examples.
The Saga Pattern in .NET: Managing Distributed Transactions
How to use the saga pattern to coordinate multi-step business processes across services in .NET, with orchestration and choreography approaches.
The Outbox Pattern for Reliable Messaging in .NET
How to use the transactional outbox pattern to guarantee reliable message publishing alongside database writes in .NET.
The Specification Pattern in .NET: Composable Query Logic
How to use the specification pattern to encapsulate, compose, and reuse query logic in .NET applications.
The Repository Pattern: When to Use It and When to Skip It
A balanced look at the repository pattern in .NET, including when it helps, when it hurts, and what alternatives exist.
Domain-Driven Design Value Objects in C#
How to implement value objects in C# to encode domain rules, eliminate primitive obsession, and make invalid states unrepresentable.
CQRS with MediatR in .NET: Separating Reads from Writes
A hands-on guide to implementing the CQRS pattern in .NET using MediatR, with pipeline behaviours for cross-cutting concerns.
Vertical Slice Architecture: Organising by Feature, Not Layer
How vertical slice architecture groups code by feature rather than technical layer, and why it can reduce coupling in .NET applications.
Clean Architecture in .NET: Structuring Projects That Last
A practical guide to implementing Clean Architecture in .NET, with project structure, dependency rules, and real code examples.
Architecture Testing in .NET with NetArchTest
Enforce architectural rules as automated tests using NetArchTest to prevent dependency violations and structural drift.