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

5 Architecture Tests You Should Add to Your .NET Projects

March 07, 2026

Learn about five essential architecture tests that can help ensure the quality and maintainability of your .NET projects.

How to Implement Two-Factor Authentication in ASP.NET Core

February 28, 2026

Passwords alone are not enough. Learn how to implement Two-Factor Authentication in .NET using TOTP, QR codes, and the Otp.NET library, with a secure ...

Where Vertical Slices Fit Inside the Modular Monolith Architecture

February 21, 2026

Modular Monolith tells you how to split the system into modules. But it says nothing about how to organize code inside each module. Vertical Slice Arc...

How to Extract Structured Data From Images Using Ollama in .NET

February 14, 2026

Vision models can do more than describe images. I used Ollama and Microsoft.Extensions.AI to extract structured receipt data into strongly typed C# ob...

Integrate Keycloak with ASP.NET Core Using OAuth 2.0

February 07, 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...

...