Improve Your .NET
& Software Architecture

Join 70,000+ subscribers accelerating their skills every week

One practical tip every Saturday

.NET best practices and actionable advice

Software Architecture deep dives and fresh ideas

Profile picture
Profile picture
Profile picture
Profile picture
Profile picture
Profile picture
Profile picture
Profile picture

Join thousands of software engineers

Previous issues of The .NET Weekly

Integrate Keycloak with ASP.NET Core Using OAuth 2.0

February 06, 2026

Learn how to integrate Keycloak with your .NET 10 API using Docker, Swagger UI with OAuth 2.0 Authorization Code flow, and JWT validation.

Containerize Your .NET Applications Without a Dockerfile

January 31, 2026

Learn how to containerize .NET applications without writing a single line of Dockerfile. The .NET SDK has built-in support for publishing directly to ...

A Practical Demo of Zero-Downtime Migrations Using Password Hashing

January 24, 2026

A practical demo of the zero-downtime migration pattern: run old + new password hash formats side-by-side, migrate users on login, and remove legacy s...

Solving the Distributed Cache Invalidation Problem with Redis and HybridCache

January 17, 2026

Learn how to solve the distributed cache invalidation problem in .NET 9 by implementing a Redis Pub/Sub backplane to synchronize HybridCache instances...

Solving Message Ordering from First Principles

January 10, 2026

Per-aggregate ordering is what we really want. But queues with competing consumers make it surprisingly easy to break. This article shows how the “fix...

The Urge to Build Something

January 03, 2026

Looking at my contribution graph now, I can see the whole journey mapped out in squares of green. The startup dreams. The pivot to teaching. The thous...

How to Build a High-Performance Cache Without External Libraries

December 27, 2025

Learn how to build a high-performance cache from scratch in .NET, moving from a simple ConcurrentDictionary to an optimized keyed-locking system. This...

Server-Sent Events in ASP.NET Core and .NET 10

December 20, 2025

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...

The New .slnx Solution Format (migration guide)

December 13, 2025

See what changes in .slnx, how to convert your existing .sln, and what to watch out for in CI.

DbContext is Not Thread-Safe: Parallelizing EF Core Queries the Right Way

December 06, 2025

Learn how to safely parallelize EF Core queries to improve performance by using IDbContextFactory to create isolated contexts, avoiding the thread-saf...

...