Home Archive JSON choices, API reliability, and C# internals – .NET News Daily Issue #444 (Apr 29, 2026)

Editor's note

I put together another intentionally mixed issue here, with a few practical pieces that should age well. The Newtonsoft.Json vs System.Text.Json comparison is useful because that choice still affects compatibility and performance, and the ASP.NET Core global error handling article is the kind of fundamentals work teams benefit from immediately. I also liked the Cosmos DB cost guidance since AI-flavored workloads can amplify bad data-layer assumptions fast.

JSON choices, API reliability, and C# internals

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

Share your testimonial →

Today's Articles

Newtonsoft.Json vs System.Text.Json Which Should You Use in .NET?

https://medium.com/@sweetondonie/newtonsoft-json-vs-system-text-json-which-should-you-use-in-net-88fd402160e2?source=rss------dotnet-5

If you’ve worked with JSON in .NET, you’ve probably seen two different ways to handle it:

Article preview

Beyond the Wizard: Why Modernization Chat is the New Standard for .NET Upgrades

https://medium.com/@abhinavkumarsingh06/beyond-the-wizard-why-modernization-chat-is-the-new-standard-for-net-upgrades-82697ed96f45?source=rss------csharp-5

Introduction

Article preview

Claude Code: Two-Agent Workflow

https://blog.stackademic.com/claude-code-two-agent-workflow-c95116d4bac3?source=rss------dotnet-5

Architect + Developer role split: plan-implement-review cycle for .NET Microservices Continue reading on Stackademic »

Article preview

C# Dotnet collection internals — Dictionary

https://medium.com/@gr.ramesh025/c-dotnet-collection-internals-dictionary-cd65d7a40c2a?source=rss------dotnet-5

Core Structures — Dictionary< TKey, TValue >

Article preview

Setup CI Build Pipeline in Azure DevOps for ASP.NET Core Web API

https://medium.com/@remigiuszzalewski/setup-ci-build-pipeline-in-azure-devops-for-asp-net-core-web-api-fc1b2953ded4?source=rss------dotnet-5

Subscibe to my weekly .NET newsletter

Article preview

Global Error Handling in ASP.NET Core Web API: Building Reliable, Secure, and Production-Ready APIs

https://achuchiwilliam.medium.com/global-error-handling-in-asp-net-core-web-api-building-reliable-secure-and-production-ready-apis-67e24dceb320?source=rss------dotnet-5

Modern backend systems are expected to be stable, predictable, and easy to maintain. Users may forgive a failed request, but they rarely…

Article preview

#VSCode Newsletter on LinkedIn 📩

https://www.youtube.com/shorts/XnwJIgTqkEg

Article preview

DateTime vs DateTimeOffset in C#: What you get wrong until you don’t

https://medium.com/@phuonganhnthi98/datetime-vs-datetimeoffset-in-c-what-you-get-wrong-until-you-dont-ab1bce6f99b1?source=rss------dotnet-5

A field guide for engineers who’ve been burned by timezone bugs in production.

Article preview

Microsoft .NET Code Analysis: Avoid Out Parameters in Methods

https://dotnettips.com/2026/04/26/microsoft-net-code-analysis-avoid-out-parameters-in-methods/

The excerpt emphasizes the importance of clarity and maintainability in designing APIs and methods in Microsoft .NET. It explains that while out parameters can be useful, they often lead to reduced re...

Article preview

What is the difference between struct and class in C# with performance comparison?

https://www.c-sharpcorner.com/article/what-is-the-difference-between-struct-and-class-in-c-sharp-with-performance-compariso/

Unlock C# performance! Explore struct vs. class differences: memory, speed, and use cases. Optimize your .NET apps with the right choice for efficiency.

Article preview

LINQ GroupBy & IGrouping

https://medium.com/@nikolaajdukovic/linq-groupby-igrouping-t-9cb2cd550eab?source=rss------csharp-5

Understanding Grouping as a Domain Modeling Tool — Not Just a Query Operator

Article preview

7 tips to optimize Azure Cosmos DB costs for AI and agentic workloads

https://devblogs.microsoft.com/cosmosdb/7-tips-to-optimize-azure-cosmos-db-costs-for-ai-and-agentic-workloads/

AI apps and agentic workloads expose inefficiencies in your data layer faster than any previous generation of apps. You’re storing embeddings, serving low-latency retrieval, handling bursty traffic fr...

Article preview

C# Dotnet collection internals — Queue

https://medium.com/@gr.ramesh025/c-dotnet-collection-internals-queue-33a0c161abed?source=rss------dotnet-5

How queues use arrays, circular buffer internally?

Article preview

Record vs Class in C#: When to Use What (With Real Examples & EF Core Guide)

https://akash-shah.medium.com/record-vs-class-in-c-when-to-use-what-with-real-examples-ef-core-guide-3c5780f44e73?source=rss------dotnet-5

Learn C# record vs class with examples, immutability, equality, EF Core limitations, and best practices for clean architecture.

Article preview

On why devs from other languages find Authentication in .NET the most difficult part

https://medium.com/@vikpoca/on-why-devs-from-other-languages-find-authentication-in-net-the-most-difficult-part-36dd3cb52cfb?source=rss------dotnet-5

A translator’s guide to .NET authentication, for developers coming from Node, Python, Ruby, or Go.

Article preview

Fail Fast — for incorrect or missing configuration

https://medium.com/@rajesh.gsn9/fail-fast-for-incorrect-or-missing-configuration-717464329456?source=rss------csharp-5

In the .NET world, it’s common to store configuration such as connection strings, topic names, API keys, and log levels in configuration…

Article preview

Jasen's take on today's picks

Newtonsoft.Json vs System.Text.Json Which Should You Use in .NET?

A solid practical comparison of the two JSON stacks, especially if you're balancing legacy compatibility against newer platform defaults and performance.

Beyond the Wizard: Why Modernization Chat is the New Standard for .NET Upgrades

Modernization is less about running a wizard now and more about guided decision-making, which is the interesting shift this piece highlights.

Claude Code: Two-Agent Workflow

The architect-developer split is a familiar pattern, and the article frames it as an AI-assisted workflow for microservice implementation.

C# Dotnet collection internals — Dictionary

Collection internals posts are always worthwhile, and this one walks through how Dictionary is organized under the hood.

Setup CI Build Pipeline in Azure DevOps for ASP.NET Core Web API

Useful if you need a straightforward Azure DevOps starter pipeline for an ASP.NET Core Web API without extra ceremony.

Global Error Handling in ASP.NET Core Web API: Building Reliable, Secure, and Production-Ready APIs

Global exception handling is foundational API work, and this article rightly ties reliability to security and production readiness.

#VSCode Newsletter on LinkedIn 📩

This is more of a short promo format, but the DateTime versus DateTimeOffset reminder is still a perennial source of bugs.

Microsoft .NET Code Analysis: Avoid Out Parameters in Methods

I generally agree with discouraging out parameters because clearer method shapes usually age better in real codebases.

What is the difference between struct and class in C# with performance comparison?

A decent refresher on value versus reference semantics, with the performance angle that newer C# developers often need.

LINQ GroupBy & IGrouping

Good to see GroupBy treated as a modeling tool rather than just query syntax, because that mindset opens better designs.

7 tips to optimize Azure Cosmos DB costs for AI and agentic workloads

This one stands out for being immediately actionable if you're running AI-heavy workloads on Cosmos DB and watching the bill.

C# Dotnet collection internals — Queue

Another internals walkthrough that helps explain why Queue behaves the way it does under pressure.

Record vs Class in C#: When to Use What (With Real Examples & EF Core Guide)

The record versus class decision keeps tripping teams up, and including EF Core constraints makes this more grounded.

On why devs from other languages find Authentication in .NET the most difficult part

Authentication in .NET can feel alien if you come from lighter frameworks, and this translator-style framing is sensible.

Fail Fast — for incorrect or missing configuration

Fail-fast configuration checks save time and prevent ugly runtime surprises, so I’m always glad to see this pattern reinforced.

Related issues

📬 Get daily .NET content delivered to your inbox