Choose rate-limiting policies by endpoint cost
Apply different ASP.NET Core rate limits to cheap reads and expensive AI or data-processing endpoints.
Apply different ASP.NET Core rate limits to cheap reads and expensive AI or data-processing endpoints.
Assume a queue message can arrive more than once and make the handler’s business effects safe to repeat.
Let Aspire pass service discovery information so application code can use logical service names instead of local port numbers.
How to decide when a .NET AI request should stay synchronous, stream its response, or move to a durable background job with HTTP 202 and a status resource.
Give paged database queries a fully unique order so rows with the same sort value cannot move unpredictably between pages.
Treat deserialized model output as untrusted data and apply normal business validation before it drives application behavior.
Use PeriodicTimer when a background loop needs an awaitable cadence, cooperative shutdown, and sequential executions.
How to test Microsoft Agent Framework applications with fake model clients, tool contract tests, structured output tests, routing tests, workflow tests, and eval-style regression checks.
Inject TimeProvider when business logic depends on the current time, then control that time in tests.
Fail during application startup when required configuration is missing or invalid instead of waiting for the first request.