Blog posts

2026

Production MCP Servers with ASP.NET Core: HTTP Transport, OAuth, Authorization, and Tool Auditing

6 minute read

Published:

The Model Context Protocol lets an AI host discover and invoke tools, read resources, and use prompts through a standard protocol. A production MCP server is still an application security boundary. ASP.NET Core must authenticate the transport, the server must authorize every capability and resource, and business services must validate each operation independently of what the model requested.

Durable AI Workflows in .NET: Checkpoints, Human Approval, Recovery, and Idempotency

6 minute read

Published:

Long-running AI work cannot depend on one process, connection, or conversation remaining alive. Microsoft Agent Framework workflows provide explicit executors and edges, checkpointing can resume an in-process workflow model, and the Durable Extension can persist execution across distributed workers. Reliability still depends on application-owned identities, idempotent side effects, versioned state, and precise approval boundaries.

Evaluating .NET AI Applications: Quality, Safety, Regression Tests, and CI Gates

6 minute read

Published:

AI behavior changes when prompts, models, retrieval, tools, policies, or source data change. Ordinary unit tests remain essential, but exact string assertions cannot measure every useful answer. Microsoft.Extensions.AI.Evaluation adds quality, safety, agent, caching, and reporting components so .NET teams can turn representative scenarios into repeatable release evidence.

Reliable AI Contracts in .NET: Structured Outputs, JSON Schema, Tool Calls, and Validation

6 minute read

Published:

Free-form text is useful for conversation, but application workflows need contracts. Microsoft.Extensions.AI can request typed structured output, and model tools can expose typed arguments. Neither feature makes model output trustworthy. Production code must still validate syntax, semantics, authorization, version compatibility, and side effects before the result crosses a business boundary.

Production RAG in .NET: Hybrid Search, Reranking, Citations, and Security Trimming

6 minute read

Published:

Retrieval-augmented generation is reliable only when retrieval is treated as an application subsystem rather than a prompt trick. The query path must enforce access, combine exact and semantic evidence, control context size, preserve citations, and abstain when evidence is weak. This article focuses on that read path; document parsing, chunking, and embedding belong to the ingestion pipeline.

Production AI Data Ingestion in .NET: Documents, Chunking, Enrichment, Embeddings, and Reindexing

6 minute read

Published:

Production retrieval starts before the user asks a question. Documents must be discovered, parsed, normalized, divided into useful chunks, enriched, embedded, and written with enough identity and authorization metadata to be replaced or removed later. Microsoft.Extensions.DataIngestion provides .NET building blocks for this pipeline, while application code must still own lifecycle, security, recovery, and quality decisions.

Secure AI Gateways in ASP.NET Core: Identity, Rate Limits, Cost Controls, and Auditability

6 minute read

Published:

An AI gateway gives applications one controlled boundary for model access. It authenticates callers, applies tenant and workload policy, protects provider credentials, records usage, and returns a stable contract even when model providers differ. The gateway is not a substitute for provider safety controls or application authorization. Its job is to make every model request enter through a measurable, enforceable path.

Engineering AI Agents in .NET: Agent Framework, MCP Tools, Evaluation, and Guardrails

6 minute read

Published:

AI agents combine a model with instructions, tools, state, and an execution loop. Microsoft Agent Framework provides agent and workflow abstractions for .NET, while the Model Context Protocol standardizes how an AI host discovers and invokes external tools and data sources. These technologies evolve quickly, so production adoption should pin tested package versions, isolate preview APIs, and place deterministic controls around every side effect.

Building AI Features in .NET: Microsoft.Extensions.AI, Chat, Embeddings, RAG, and Telemetry

5 minute read

Published:

Microsoft.Extensions.AI provides common .NET abstractions for generative AI services. IChatClient represents chat and streaming interactions, while IEmbeddingGenerator represents embedding generation. The abstractions support familiar dependency injection and middleware patterns for telemetry, caching, function invocation, and testing. They let application code depend on capabilities instead of spreading one provider’s SDK types through every layer.

Aspire for Distributed .NET Apps: AppHost, Service Discovery, Telemetry, and Kubernetes Deployment

5 minute read

Published:

Aspire is a code-first orchestration and observability layer for distributed applications. It lets a team describe APIs, workers, databases, caches, queues, containers, and their relationships in one AppHost. During development, the same model starts the system, supplies connection information, and exposes logs and traces through a dashboard. The application services remain ordinary .NET projects and can still be deployed through established platform pipelines.