How to Build a High-Performance Cache Without External Libraries
Learn how to build a high-performance cache from scratch in .NET, moving from a simple ConcurrentDictionary to an optimized keyed-locking system. This...
Page 5 of 22. Practical .NET and software architecture lessons.
Learn how to build a high-performance cache from scratch in .NET, moving from a simple ConcurrentDictionary to an optimized keyed-locking system. This...
ASP.NET Core 10 introduces native Server-Sent Events as a lightweight, HTTP-native alternative to SignalR for simple one-way real-time updates like da...
See what changes in .slnx, how to convert your existing .sln, and what to watch out for in CI.
Learn how to safely parallelize EF Core queries to improve performance by using IDbContextFactory to create isolated contexts, avoiding the thread-saf...
Deciding where shared logic lives is the most critical moment in Vertical Slice Architecture adoption, because choosing wrong reintroduces the couplin...
Coupling isn't just about code structure; it's about failure boundaries. Discover how to ensure your critical business logic survives when external de...
With .NET 10, Microsoft introduced file-based apps, which give you the ability to write C# code in a single .cs file and run it directly, without any ...
Distributed systems don't fail cleanly: they retry, duplicate, and occasionally fail. Here's how to design resilient message handlers in .NET with bro...
.NET 10 finally adds proper LeftJoin and RightJoin methods to LINQ, replacing the complex GroupJoin + DefaultIfEmpty pattern with clean, readable code...
Discover how a simple interview question about report generation reveals the difference between optimizing code and designing scalable systems, and wh...
Join 66,000+ readers of The .NET Weekly for practical tips and resources to improve your .NET and software architecture skills.