Treat CORS as a browser boundary, not API authorization

Use CORS to control browser-script access across origins, while enforcing API permissions with authentication and authorization.

August 2, 2026 · 2 min · Lukas Walter

Set request body limits intentionally

Choose global and endpoint-specific request body limits instead of inheriting accidental defaults for uploads and APIs.

July 29, 2026 · 3 min · Lukas Walter

Stop Letting Provider SDKs Define Your .NET AI Architecture

How Microsoft.Extensions.AI keeps provider SDKs at the edge of .NET applications through shared abstractions, dependency injection, and middleware.

July 29, 2026 · 9 min · Lukas Walter

Treat uploaded files as untrusted

Keep uploads quarantined until required metadata, content, and resource checks succeed, while treating client filenames as untrusted.

July 29, 2026 · 2 min · Lukas Walter

Use streaming for large or frequent uploads

Use MultipartReader when buffered ASP.NET Core uploads put too much pressure on memory, temporary-disk capacity, or disk I/O.

July 29, 2026 · 3 min · Lukas Walter

Use async for I/O, not as a substitute for CPU parallelism

Use async to avoid blocking while I/O is in flight, and treat CPU parallelism as a separate measured design decision.

July 28, 2026 · 3 min · Lukas Walter

Calling a Model Is Easy. Running an AI System Is Not

Why a successful model call says little about whether an AI feature is reliable, secure, observable, affordable, and ready to operate in production.

July 26, 2026 · 9 min · Lukas Walter

Measure retrieval misses separately from model failures

Give retrieval its own outcome and telemetry so missing or irrelevant context is not diagnosed as a model problem.

July 26, 2026 · 2 min · Lukas Walter

Project EF Core queries before materializing

Use Select to project only the required values before ToListAsync, reducing transferred columns and unnecessary entity materialization on EF Core read paths.

July 26, 2026 · 2 min · Lukas Walter

Describe tool parameters like API contracts

Give AI tools precise parameter names, units, formats, and side-effect expectations so the model receives an unambiguous contract.

July 24, 2026 · 2 min · Lukas Walter