Cache GET responses only when user context is clear

Do not cache a GET response unless the cache key matches the user, tenant, and permission boundary that shaped it.

July 7, 2026 · 3 min · Lukas Walter

Middleware order is important

Place ASP.NET Core middleware in the order that matches routing, security, and endpoint behavior.

July 5, 2026 · 2 min · Lukas Walter

Pass CancellationToken through real boundaries

Thread cancellation through every expensive operation instead of dropping it mid-chain.

July 5, 2026 · 2 min · Lukas Walter

Prefer health checks that test dependencies deliberately

Health checks should say something useful about readiness without turning every probe into production load.

July 5, 2026 · 2 min · Lukas Walter

Use HybridCache when cache stampedes matter

Use HybridCache for expensive shared lookups where many callers can miss at once.

July 5, 2026 · 2 min · Lukas Walter

Use ProblemDetails as your API error contract

Return one predictable error shape instead of inventing a new JSON format for every failure.

July 5, 2026 · 1 min · Lukas Walter