.NET 11's Runtime Async shifts state machine generation from the compiler to the JIT, unlocking new optimizations. Meanwhile, a deep dive into eventual consistency shows why stale data in distributed systems is a design choice, not a flaw — and why ignoring it is the real danger.
Copying blobs between Azure storage accounts? Splitting into blocks and copying in parallel within Azure cuts a 10GB transfer from over an hour to under 10 seconds. Also: Postie simplifies CQRS in ASP.NET Core by mapping commands to routes in one line.
.NET 10 brings built-in passkey support to ASP.NET Core Identity. Separately, a solid rundown of 18 REST API security habits covers HTTPS, JWT validation, and input handling. Cache invalidation patterns and TTL strategies round out the practical picks.
.NET 11 brings some solid speed wins: enum comparisons are 7x faster with zero allocations, timezone conversions doubled in speed, and GUID parsing got 20% quicker. Separately, Anton covers 20 practical ways to fix slow SQL queries — measure first, then act.
.NET interviews now test real scenarios over definitions — like why injecting a scoped service into a singleton corrupts data. Also: BenchmarkDotNet paired with AI turned a branchy encoder into a branchless design, cutting latency from 8.5 ns to 1.6 ns.
.NET 8's `TimeProvider` finally standardizes clock control for tests — pin time, call `Advance()`, and test cache expiry or retries without waiting. Separately, async code won't protect shared data: 20 parallel file writes cause crashes without explicit locks like `SemaphoreSlim`.
Cache stampedes hit when cache misses pile up and flood your database at once. A per-key lock or ASP.NET Core's built-in HybridCache keeps only one request rebuilding while others wait. C# 15 finally adds native union types with exhaustive pattern matching enforced by the compiler.
Frequent GC cycles quietly hurt .NET performance as short-lived objects get promoted to expensive memory tiers. Using Span, ArrayPool, and ValueTask keeps allocations low. Also, strong types can replace repeated validation across API layers, reducing duplicate code and making inputs self-validating from the start.
ASP.NET cookies breaking after IIS restarts? Rick Strahl explains why encryption keys regenerate and how to fix it. Also: .NET 8 and 9 both hit end of support November 2026 — time to move to .NET 10.
EF Core's missing upsert finally gets a proper fix — raw T-SQL MERGE or BulkMerge both work, but always set a business key or records silently duplicate. Also: a version mismatch made dotnet publish deploy an empty package while showing green.
The Outbox Pattern saves messages to your database in the same transaction as business data, then a background job publishes them — no lost events on crash. Also: .NET 10 now prunes redundant NuGet packages, cutting false vulnerability warnings by 70% and restore times by half.
.NET 11 brings the biggest update to `System.Diagnostics.Process` in years, adding deadlock-free output capture and `KillOnParentExit`. EF Core 11 trims split queries, cutting execution time by ~9% and memory use by ~10%.
.NET's messy naming history is actually a survival story — Microsoft rebuilt it from scratch to stay relevant in a Linux and cloud world. Also: HybridCache in .NET 9 quietly solves cache stampedes and multi-server consistency with one simple API.
C# 16 is redesigning the `unsafe` keyword so every unsafe operation must appear in an explicit block with documented caller obligations — making risky code visible instead of hidden. Also worth reading: why factory patterns in ASP.NET often just shuffle complexity around, and how state machines can manage real-world workflows like Uber's trip lifecycle.
C# 15 finally brings union types after years of requests. Also worth reading: .NET 11 adds Zstandard compression with a new ZstandardStream API, offering fast, efficient compression with ASP.NET Core integration and dictionary support for small files.
Real-time driver tracking in .NET using Redis GEO and SignalR — handling millions of GPS updates with low latency. Plus, a .NET 11 fix finally surfaces background service crashes instead of hiding them as clean shutdowns.
Discriminated unions finally land in .NET 11, letting functions return multiple result types with compiler-checked handling. Also worth reading: validate config at startup with IValidateOptions to catch missing values before your app accepts traffic.
Two-layer caching in .NET can cut response times from seconds to under a millisecond. Also worth reading: ASP.NET Core cookies can silently break auth in production, and C# 15 union types now enforce exhaustive pattern matching at build time.
SIMD lets a CPU scan 32 bytes at once, making it possible to build a CSV parser that finds field boundaries in one pass and only decodes text on demand — beating most C# parsers in benchmarks. Also: Output Cache in ASP.NET can skip your database entirely on repeat requests, with Redis support for multi-instance apps.
Copilot merged 535 of 878 pull requests in the .NET runtime after the team tuned its setup. Architectural tests can enforce design rules automatically, catching structural drift before it builds up. Health checks that test real dependencies help pinpoint failures fast.