.NET synchronisation APIs

#600 – March 22, 2026

.NET offers many built-in tools to control how threads share resources

.NET synchronisation APIs: In-process synchronisation
16 minutes by Ricardo Peres

This is the first in a series of Rocardo's posts on .NET synchronisation. .NET offers many built-in tools to control how threads share resources. These include simple options like the lock statement and Monitor class, which allow only one thread at a time, and more advanced ones like SemaphoreSlim, which allows several threads in at once. Some tools support async code, while others work only in sync. Ricardo suggests that picking the right tool, keeping locks short, and always releasing them helps avoid deadlocks and performance issues.

Your favorite .NET IDE just started seeing other AI agents
sponsored by Jetbrains

We’re sorry you had to find out from a newsletter, but JetBrains Rider is no longer exclusive with any one LLM provider. Alongside Junie, Claude, and Codex, you can now bring in GitHub Copilot, Cursor, and dozens of other external agents via the Agent Client Protocol (ACP). Browse the new ACP Registry, find your perfect match, and install it with a single click.

Recording metrics in-process using MeterListener
16 minutes by Andrew Lock

Andrew shows how to use MeterListener to consume metrics inside a .NET app. He covers subscribing to specific instruments, handling different measurement types, and the key difference between standard and observable instruments. Observable instruments only emit values when you explicitly request them. For production use, Andrew recommends tools like OpenTelemetry instead.

FullJoin in .NET 11
2 minutes by Steven Giesel

LINQ is getting a new FullJoin method. Unlike regular joins, it returns all elements from both sequences, even when there is no match on either side. Both sides are nullable in the result selector, since either can be absent. The API is approved but not yet merged into .NET.

Implementing RFC-compliant HTTP caching for HttpClient in .NET
5 minutes by Gérald Barré

HTTP caching is one of the most effective ways to improve application performance by reducing network traffic, minimizing server load, and decreasing response times. While browsers automatically implement HTTP caching, the same isn't true for HttpClient in .NET, which processes every request independently without built-in caching support. Gérald shows you how to add standards-compliant HTTP caching to HttpClient using the Meziantou.Framework.Http.Caching NuGet package, which fully implements RFC 7234 and RFC 8246.

Edge cases in .NET Framework 4.x to .NET 10 migration
11 minutes by DeeDee Walsh

Migrating from .NET Framework 4.x to .NET 10 is a total platform transformation. In this post DeeDee catalogs the specific edge cases, removed technologies, API incompatibilities, and behavioral changes that cause migrations to stall or fail. Understanding these challenges upfront is critical for accurate project scoping and risk mitigation.

And the most popular article from the last issue was:

newsletters