Home Archive Rate Limiting, OpenTelemetry, MAUI and Dapper – .NET News Daily Issue #476 (Jun 16, 2026)

Editor's note

I pulled together another intentionally mixed issue, from platform behavior changes to architecture and tooling. The BackgroundService exception fix in .NET 11 is the kind of runtime detail that can quietly change production behavior, and Gérald Barré’s OpenTelemetry context piece is especially useful if you’re tracing work across boundaries. I also liked the practical spread here: rate limiting for busy APIs, Dapper for data access, and a solid vertical slice architecture walkthrough.

Enjoying the newsletter? Your feedback helps us grow and reach more developers.

Share your testimonial →

Today's Articles

.NET MAUI Community Standup: Rust, SkiaSharp Everywhere, AI/ML Live Processing

https://www.youtube.com/watch?v=mfj8oxjqdaM&utm_source=dotnetnews.co&utm_medium=referral&utm_campaign=the-net-news-daily-issue-476

David and Gerald are joined this month by Nick Kovalsky who will show us some amazing .NET MAUI things with Rust, SkiaSharp and drawn UI (also coming to Blazor?!) and AI live processing that he has be...

Microsoft is tightening restrictions on the use of unsafe code in C# - Techzine Global

https://news.google.com/rss/articles/CBMisAFBVV95cUxNWTJ2bGdPa0lOekppcjdaM0NFS04yTnVvZEotV2RFcUwyYWFzWVlocmR3bkhYcTFoOTFMWmFtY1M1bnZWYmtMblZDQVJVaGM5Nk9nQldCNHZvZ1EyaEZJdGdpX0k1TXZfV2wweHo0RVdfaDY2dWdpbGFvdEVfSnFialJjWWN3bC1Mb2dpSC1udHN0aE5hSDFLNnhBRmhtUGd3WGZ5TkhXdUJEblY0R2FNVw?oc=5&hl=en-US&gl=US&ceid=US%3Aen&utm_source=dotnetnews.co&utm_medium=referral&utm_campaign=the-net-news-daily-issue-476

PENDING REVIEW: MICROSOFT ARTICLE UNRETRIEVABLE (INSUFFICIENT FULL TEXT). Microsoft is tightening restrictions on the use of unsafe code in C#    Techzine Global

BackgroundService exceptions now propagate in .NET 11

https://steven-giesel.com/blogPost/00fcb870-6bf7-4f97-824f-8eab1b8838be?utm_source=dotnetnews.co&utm_medium=referral&utm_campaign=the-net-news-daily-issue-476

Here's a bug that lived in .NET for over four years As in: Reported over 4 years ago . If your BackgroundService threw an exception after its first await , your host would catch it, log a critical mes...

ASP.NET Core Rate Limiting Best Practices for High-Traffic APIs

https://www.c-sharpcorner.com/article/asp-net-core-rate-limiting-best-practices-for-high-traffic-apis/?utm_source=dotnetnews.co&utm_medium=referral&utm_campaign=the-net-news-daily-issue-476

Master ASP.NET Core rate limiting for high-traffic APIs. Protect against abuse, ensure stability, and optimize performance with best practices.

C#: Inheritance vs Composition — When to Use Each and Why AI Can't Decide for You

https://www.pietschsoft.com/post/2026/05/08/csharp-inheritance-vs-composition-when-to-use-each?utm_source=dotnetnews.co&utm_medium=referral&utm_campaign=the-net-news-daily-issue-476

Every C# developer eventually hits this question: should I use inheritance or composition here? And if you ask an AI — or search for articles online — you’ll get the standard answer: “favor compositio...

The Interval Is the Thing: Modelling Range Types as First-Class Domain Objects in .NET

https://medium.com/@ricardogro_89299/the-interval-is-the-thing-modelling-range-types-as-first-class-domain-objects-in-net-39e4a4958214?source=rss------csharp-5&utm_source=dotnetnews.co&utm_medium=referral&utm_campaign=the-net-news-daily-issue-476

A complete solution: expressive range types in your domain layer, full PostgreSQL translation in your data layer — no compromises at…

Zstandard compression in .NET 11

https://steven-giesel.com/blogPost/6066abb6-640a-4225-ac33-3f4d5a1a1d16?utm_source=dotnetnews.co&utm_medium=referral&utm_campaign=the-net-news-daily-issue-476

.NET has had DeflateStream , GZipStream , ZLibStream , and BrotliStream for a while now. In .NET 11, a new one joins the party: ZstandardStream . And now we get to say "Zstd" in .NET.

.NET Performance in Cloud: The Silent Killers Nobody Talks About

https://medium.com/@hariprasad.nattuva01/net-performance-in-cloud-the-silent-killers-nobody-talks-about-7bdcc0adfcc3?source=rss------dotnet-5&utm_source=dotnetnews.co&utm_medium=referral&utm_campaign=the-net-news-daily-issue-476

Most .NET teams moving to the cloud assume performance will “just scale.”

CLAUDE.md for .NET Developers - Complete Guide with Templates

https://codewithmukesh.com/blog/claude-md-mastery-dotnet/?utm_source=dotnetnews.co&utm_medium=referral&utm_campaign=the-net-news-daily-issue-476

Write the perfect CLAUDE.md for .NET projects: memory hierarchy, auto memory, AGENTS.md interop, and copy-paste templates. Updated for mid-2026.

20 Advanced Claude Code Tips for .NET Developers

https://codewithmukesh.com/blog/claude-code-tips-advanced/?utm_source=dotnetnews.co&utm_medium=referral&utm_campaign=the-net-news-daily-issue-476

Twenty advanced Claude Code tips for .NET developers: context engineering, hooks, subagents, MCP, worktrees, and model selection to ship faster in 2026.

C#: Should This Be a Class, Record, Struct, or Interface?

https://www.pietschsoft.com/post/2026/05/07/csharp-class-record-struct-or-interface-how-to-choose?utm_source=dotnetnews.co&utm_medium=referral&utm_campaign=the-net-news-daily-issue-476

Every time you add a new type to a C# codebase, you face the same quiet decision: class, record, struct, or interface? And once you pick class , a second wave of questions arrives — should it be abstr...

Remove Nodes That Have a Greater Value on Their Right in a Linked List

https://www.c-sharpcorner.com/article/remove-nodes-that-have-a-greater-value-on-their-right-in-a-linked-list/?utm_source=dotnetnews.co&utm_medium=referral&utm_campaign=the-net-news-daily-issue-476

A linked list problem where nodes are removed if a greater value exists on their right side. The optimal solution uses list reversal and a greedy traversal with a running maximum to achieve O(n) time ...

The complete guide to mastering Dapper micro-ORM in .NET

https://blog.elmah.io/the-complete-guide-to-mastering-dapper-micro-orm-in-net/?utm_source=dotnetnews.co&utm_medium=referral&utm_campaign=the-net-news-daily-issue-476

For developers who want to taste ORM but don't want to leave SQL either, Dapper is a perfect choice. Dapper runs SQL queries like ADO.NET but returns results as C# objects, like Entity Framework Core....

How to Structure Production Apps with Vertical Slice Architecture in .NET in 2026

https://antondevtips.com/blog/how-to-structure-production-apps-with-vertical-slice-architecture-in-dotnet-in-2026?utm_source=dotnetnews.co&utm_medium=referral&utm_campaign=the-net-news-daily-issue-476

A practical guide to structuring vertical slices in .NET projects. Learn the file-per-concern slice layout, manual handlers without MediatR, Minimal APIs via IApiEndpoint, Result , FluentValidation,

Why Do Some Developers Build Maintainable Software While Others Keep Fixing Bugs?

https://medium.com/@neal.kansariya/why-do-some-developers-build-maintainable-software-while-others-keep-fixing-bugs-e81706f17f45?source=rss------csharp-5&utm_source=dotnetnews.co&utm_medium=referral&utm_campaign=the-net-news-daily-issue-476

Most developers know C#.

Dynamic LINQ in Production: How I Built Runtime Query Parsing That Doesn’t Suck

https://medium.com/@marioarce/dynamic-linq-in-production-how-i-built-runtime-query-parsing-that-doesnt-suck-79702cc5fbca?source=rss------csharp-5&utm_source=dotnetnews.co&utm_medium=referral&utm_campaign=the-net-news-daily-issue-476

Building secure, performant dynamic LINQ expressions for enterprise applications

Propagating OpenTelemetry context in .NET

https://www.meziantou.net/propagating-opentelemetry-context-in-dotnet.htm?utm_medium=referral&utm_source=dotnetnews.co&utm_campaign=the-net-news-daily-issue-476

When building distributed systems, maintaining observability across process boundaries is crucial for understanding the flow of requests through your application. OpenTelemetry provides a standard way...

Blazor - How to set a base component for all Razor components

https://www.meziantou.net/blazor-how-to-set-a-base-component-for-all-razor-components-using-viewstart-razo.htm?utm_medium=referral&utm_source=dotnetnews.co&utm_campaign=the-net-news-daily-issue-476

When building a Blazor application, you may want a custom base component for all your Razor components. This is useful for sharing common functionality like cancellation tokens, logging, or state mana...

Enhancing Code Reliability in .NET with TreatWarningsAsErrors

https://www.c-sharpcorner.com/blogs/enhancing-code-reliability-in-net-with-treatwarningsaserrors?utm_source=dotnetnews.co&utm_medium=referral&utm_campaign=the-net-news-daily-issue-476

Elevate .NET code reliability! Learn how ` ` transforms compiler warnings into errors, forcing developers to address potential issues early. Improve code quality and prevent runtime failures.

10 Potentially Harmful NuGet Packages (and Why)

https://www.c-sharpcorner.com/article/10-potentially-harmful-nuget-packages-and-why/?utm_source=dotnetnews.co&utm_medium=referral&utm_campaign=the-net-news-daily-issue-476

Discover 10 common NuGet packages and their potential risks, plus best practices for secure and performant .NET development.

Building an AI Agent with .NET

https://medium.com/@faulycoelho/building-an-ai-agent-with-net-34b86744ef80?source=rss------dotnet-5&utm_source=dotnetnews.co&utm_medium=referral&utm_campaign=the-net-news-daily-issue-476

Introduction

Jasen's take on today's picks

.NET MAUI Community Standup: Rust, SkiaSharp Everywhere, AI/ML Live Processing

A broad MAUI standup with enough crossover ideas to interest Blazor folks too, especially around drawn UI and live AI processing.

Microsoft is tightening restrictions on the use of unsafe code in C# - Techzine Global

I’m cautious here since the source text is thin, but any tightening around unsafe code is worth tracking for low-level libraries.

BackgroundService exceptions now propagate in .NET 11

This is an important runtime fix. Hidden BackgroundService failures have surprised people for years.

ASP.NET Core Rate Limiting Best Practices for High-Traffic APIs

Good operational guidance for API teams that need guardrails before traffic spikes expose weak defaults.

C#: Inheritance vs Composition — When to Use Each and Why AI Can't Decide for You

A sensible design discussion. “Prefer composition” is too shallow unless you also talk tradeoffs and context.

The Interval Is the Thing: Modelling Range Types as First-Class Domain Objects in .NET

Interesting domain modeling piece, especially for teams pairing rich types with PostgreSQL range support.

Zstandard compression in .NET 11

Nice to see Zstandard land in .NET 11. Practical compression options matter more than they sound.

.NET Performance in Cloud: The Silent Killers Nobody Talks About

Cloud performance problems are often death by a thousand cuts, not one dramatic bottleneck.

CLAUDE.md for .NET Developers - Complete Guide with Templates

Useful if your team is standardizing how Claude should understand repo conventions and project memory.

20 Advanced Claude Code Tips for .NET Developers

If you’re already using Claude Code, these are the workflow tips that usually move the needle.

C#: Should This Be a Class, Record, Struct, or Interface?

Another good C# decision framework. Type selection has long-term design consequences.

Remove Nodes That Have a Greater Value on Their Right in a Linked List

More algorithm practice than production engineering, but still a decent walkthrough of an efficient approach.

The complete guide to mastering Dapper micro-ORM in .NET

A handy Dapper refresher for developers who want control over SQL without giving up mapping convenience.

How to Structure Production Apps with Vertical Slice Architecture in .NET in 2026

Vertical slice architecture keeps showing up because it solves real team-scale organization problems.

Why Do Some Developers Build Maintainable Software While Others Keep Fixing Bugs?

Maintainability is less about syntax knowledge and more about habits, boundaries, and discipline.

Dynamic LINQ in Production: How I Built Runtime Query Parsing That Doesn’t Suck

Dynamic LINQ can get messy fast, so production-focused guidance is welcome here.

Propagating OpenTelemetry context in .NET

Context propagation is one of those observability details that separates usable traces from broken ones.

Blazor - How to set a base component for all Razor components

Small Blazor tip, but a valuable one if you want shared component behavior without repetitive boilerplate.

Enhancing Code Reliability in .NET with TreatWarningsAsErrors

Treating warnings as errors is still one of the cheapest quality wins available.

10 Potentially Harmful NuGet Packages (and Why)

Package sprawl is a real risk area. Articles like this are useful when they stay concrete.

Related issues

📬 Get daily .NET content delivered to your inbox