Lease Pattern in .NET: A Lock With an Expiration Date That Saves Your Data
Explains the lease pattern in .NET for distributed systems, using Redis to implement time-limited locks that prevent deadlocks and ensure recovery.
Chris “Woody” Woodruff is a Microsoft MVP and software architect specializing in .NET, API design, and scalable cloud architectures, known for developer advocacy, mentorship, and community leadership.
12 articles from this blog
Explains the lease pattern in .NET for distributed systems, using Redis to implement time-limited locks that prevent deadlocks and ensure recovery.
A guide to implementing a lease-based leader election pattern in C#/.NET for distributed systems to prevent accidental multi-leader scenarios.
Explains the Leader and Followers distributed system pattern with a practical .NET implementation to ensure single authority and prevent data corruption.
A technical series translating distributed systems patterns into practical C#/.NET implementations for production software.
A framework for software architects combining Systems Thinking and Simplicity-First to build coherent, sustainable systems by managing and reducing complexity.
Explains the Data Transfer Object (DTO) pattern in ASP.NET Core Minimal APIs to separate domain models from API contracts.
A workshop teaching how to build modern web UIs with htmx and ASP.NET Core Razor Pages, avoiding the complexity of single-page applications (SPAs).
Explains how to implement Front Controller and MVC patterns in ASP.NET Core to centralize cross-cutting concerns and maintain clean architecture.
Explains the Lazy Load pattern for ASP.NET Core Minimal APIs, covering manual implementation, EF Core usage, and performance trade-offs.
Explains the Identity Map pattern for ASP.NET Core Minimal APIs to ensure a single in-memory object per database entity within a request.
Explains the Unit of Work pattern for managing database transactions in ASP.NET Core Minimal APIs with EF Core, including implementation and benefits.
Explains how to implement the Repository pattern in ASP.NET Core Minimal APIs to decouple domain logic from database access.