Production Rate Limiting in ASP.NET Core
Most ASP.NET Core rate-limiting examples stop after registering a fixed window. That is enough to demonstrate the middleware, but it is not enough for a production policy.
Read Blog PostMost ASP.NET Core rate-limiting examples stop after registering a fixed window. That is enough to demonstrate the middleware, but it is not enough for a production policy.
Read Blog PostFor more than two decades, (decimal)1.23 returned 1.23m. It looked correct, it passed every test and it was a polite lie.
Read Blog PostDistroless, Chiseled and Alpine are often compared as three equivalent Linux distributions. They are not. Alpine is a distribution built around musl, BusyBox and apk. Distroless describes a runtime image without a …
Read Blog PostMost .NET Dockerfiles repeat the same five steps: restore, publish, select the matching Microsoft runtime image, copy the output and start the application. That works, but it rarely expresses application-specific intent. …
Read Blog Postbuilder.Services.AddProblemDetails() registers infrastructure. It does not create an error contract. An ASP.NET Core request can fail during binding, validation, authentication, authorization, endpoint execution, …
Read Blog PostRetries are the most visible resilience strategy and the easiest one to misuse. Repeating a failing call can recover from a short network problem. It can also multiply load, repeat a write and keep working long after the …
Read Blog PostASP.NET Core 11 has no single feature that fundamentally changes how web applications are built. That is not a criticism. Mature frameworks improve by removing custom infrastructure, tightening defaults and making common …
Read Blog PostAfter many years of workarounds, design discussions and library-level substitutes, unions are finally becoming a first-class part of C#. The proposal in the C# language repository is no longer a distant idea. With the …
Read Blog Post