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 PostASP.NET Core guides on APIs, authentication, middleware, dependency injection and error handling, with practical C# examples by Benjamin Abt.
Hands-on workshop on this topic: ASP.NET Modernization Assessment
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 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 PostAn MCP server can look deceptively small. A package is installed, a method receives an attribute and ASP.NET Core maps an endpoint. That is enough for a demonstration. It is not enough for a server that is allowed to …
Read Blog PostTelemetry, logging and auditing are often implemented through the same API because all three produce timestamped records. That similarity is superficial. They answer different questions, tolerate different failure modes …
Read Blog PostApplications that do not use ASP.NET Core Identity still need a disciplined password-storage design. This often leads to a requirement phrased as “password encryption.” That phrase is dangerous because encryption is …
Read Blog PostLegacy ASP.NET applications often carry years of accumulated dependencies, custom infrastructure and undocumented assumptions. This assessment provides a structured, evidence-based view of an existing application’s …
Read Blog PostThe 2.0 release of the official Model Context Protocol (MCP) C# SDK is more than a version increment. It implements the 2026-07-28 MCP specification revision, which changes the default shape of MCP over HTTP. The …
Read Blog PostTime is an external dependency. That may sound unusual at first because DateTime.UtcNow is available anywhere without configuration. This convenience becomes a problem as soon as business rules depend on the current …
Read Blog Post