Archive

Monday, October 26, 2026
stories of the day

11stories
.NET regresyon
Row-level diffs
DVDEV Community: #csharp Youssef Bouha Oct 26

Comparing two million-object lists for regression testing with Xero.DataComparer

Xero.DataComparer is a small, dependency-free .NET library for non-regression testing of pricing and risk engines. Instead of a boolean verdict, it reports which rows differ, on which properties, and which rows are missing on either side. The author says it compares two lists of one million objects in about 0.7 seconds, and explains the design choices behind that speed.

BenchmarkDotNet
Measure before optimizing
DVDEV Community: #csharp Henrique Mauri Oct 25

Measuring .NET performance with AI help using BenchmarkDotNet

The author optimizes a .NET reporting method step by step with BenchmarkDotNet, measuring each change separately. The final version drops from about 1.55 s to 11.9 ms and allocations fall from 33.1 MB to 0.23 MB. It is a useful case for anyone who wants to check AI-proposed optimizations with benchmarks and output comparisons before merging them.

.NET 8/9/10/11
Brotli fix shipped
NB.NET Blog Rahul Bhandari (MSFT) Oct 25

.NET October 2026 out-of-band security updates: Brotli and tarball ownership

Microsoft shipped out-of-band security updates for .NET 8, 9, 10 and .NET 11 RC3. CVE-2026-111497 fixes a Brotli decompression buffer overflow, and CVE-2026-114148 fixes unsafe ownership metadata in Linux tarballs. Two earlier fixes that the October 13 release missed were also re-shipped. Rebuilding self-contained apps and container images is required to pick up the fix.

xUnit · Claude Code
Do generated tests prove it?

How to Review Claude-Generated .NET Tests for Real Regression Coverage

Claude-generated .NET tests can look complete and still miss the regression they are meant to catch. The author walks through tracing assertions back to their inputs, checking mock boundaries, and verifying that a test fails for the intended reason. It is a practical review checklist for anyone accepting agent-written tests into a C# codebase.

FusionCache 2.9
Two-layer product cache
DVDEV Community: #dotnet nikosst Oct 25

Two-level caching in .NET with FusionCache and Redis

This guide shows how to combine FusionCache's in-process L1 memory with a shared Redis L2 layer in a product catalog API. The author keeps Clean Architecture boundaries intact and focuses on correct cache behavior rather than raw speed numbers. It is a practical starting point for developers who run several instances and need to plan freshness and invalidation.

.NET 10
Custom sort vs LINQ
CCC# Corner Željko Perić Oct 25

Custom Array Sorting vs LINQ: BenchmarkDotNet Results for 2D and Jagged Arrays

Željko Perić benchmarks his custom multi-column sort extensions for 2D and jagged arrays against the standard LINQ OrderBy/ThenBy pipeline using BenchmarkDotNet. The results show how memory layout and sorting algorithm change speed and allocations on datasets up to one million rows. It is a practical reference for developers who care about GC pressure in data-heavy code.

Agent Framework
Stop when guards fail
DVDEV Community: #dotnet MICHAEL-MAURICE Oct 25

Making .NET AI Agent Guardrails Fail Closed When They Break

The article examines what a .NET AI agent does when its own guardrails fail, such as a throwing guard, a down classifier, a missing caller or miswired middleware. The author deliberately breaks each guard layer and shows how to make the request blocked instead of silently allowed. It ends with a practical checklist for developers building guarded agents.

ASP.NET Core
Test 404 without a server
DVDEV Community: #aspnetcore Sukhpinder Singh Oct 25

Test Minimal API 404 branches without booting a server

The author shows how to test the 404 branch of a minimal API endpoint by calling the handler directly instead of booting WebApplicationFactory. Typed result unions such as Results<Ok<T>, NotFound> make the return type a compiler-checked contract. The approach gives fast, readable unit tests, while the author keeps a thin layer of integration tests for routing, binding and middleware.

ASP.NET Core
Polish Razor Page CRUD
DVDEV Community: #dotnetcore Karen Payne Oct 25

Improving scaffolded Razor Pages with EF Core, Bootstrap icons and a delete dialog

Karen Payne shows how to improve the Razor Pages that Visual Studio generates for an EF Core model reverse-engineered from SQL Server. The main change is replacing table-based lists with Bootstrap div layouts, swapping text links for icon buttons, and using a Bootstrap modal instead of a separate delete page. It is a practical starting point for ASP.NET Core developers who want more responsive and WCAG AA friendlier list pages.

Feedback

Found a bug or have an idea? Your message lands straight in my inbox.

Type of message