ASP.NET Core
23 articles tagged with ASP.NET Core.
Expose your ASP.NET Core API as an MCP server
Learn how to let agents read and change what their user can through an MCP server in ASP.NET Core, with OAuth, scopes, a per-organization switch and rate limits.
8 min read
An AI gateway for your SaaS in ASP.NET Core: one path to the model
Learn how to route every AI call of an ASP.NET Core application through one gateway that checks the organization's switch, the person's allowance and writes a usage ledger.
7 min read
SSO and SCIM 2.0 for a B2B SaaS in ASP.NET Core
Learn how to let each customer sign in through its own identity provider and provision its people with SCIM 2.0, in ASP.NET Core, with no third-party service.
8 min read
GDPR data export and account erasure in an ASP.NET Core SaaS
Learn how to implement a GDPR data export and a real account erasure in a modular ASP.NET Core application, without breaking domain boundaries or other people's history.
7 min read
A billing module behind an adapter: Stripe that runs unconfigured
Learn how to keep Stripe inside one billing module in ASP.NET Core, with its own DbContext, a payment-gateway port and an adapter that lets the app run with no key at all.
8 min read
End-to-end tests of a distributed .NET app with Aspire.Hosting.Testing
Learn how to run Gherkin scenarios against your real Aspire graph, gateway, identity server and RabbitMQ included, in a couple of minutes and without a browser.
8 min read
Signed outgoing webhooks in ASP.NET Core
Learn how to send signed outgoing webhooks from ASP.NET Core: a stable envelope, an HMAC signature a subscriber can verify, durable retries, delivery history and redelivery.
7 min read
Server-sent events with ASP.NET Core and Angular: a frame is a signal, never the data
Learn how to push real-time updates from ASP.NET Core to Angular with server-sent events, across several replicas, without a dropped frame ever showing a wrong screen.
7 min read
An audit log that can't lie: building one in ASP.NET Core with the outbox
Learn how to build an ASP.NET Core audit log that records a change if and only if it committed, and an architecture test that keeps it complete as the product grows.
8 min read
A strict Content Security Policy for an Angular SPA served by ASP.NET Core
Learn how to send a real Content Security Policy from ASP.NET Core in front of an Angular application, and which concessions you cannot avoid.
7 min read
Personal access tokens in ASP.NET Core: reference tokens, not hashes
Learn how to give users personal access tokens for their scripts and agents, minted by OpenIddict as reference tokens and introspected by an ASP.NET Core API.
7 min read
Caching authenticated API responses in ASP.NET Core without leaking data
Learn how to cache authenticated responses in an ASP.NET Core API without serving one user's data to another, or to a user whose access was revoked.
7 min read
SSRF-proof outgoing HTTP calls in .NET: resolve, check, then connect
Learn how to call URLs your users type (webhooks, imports, metadata documents) without letting them reach your own network, with a SocketsHttpHandler that checks the address it actually connects to.
8 min read
Separating reads and writes in ASP.NET Core without MediatR
Learn how to split an ASP.NET Core API into a read side and a write side with plain interfaces, projections and a result type, chosen by HTTP verb, with no mediator in between.
8 min read
The AddStandardResilienceHandler trap: when Aspire's defaults retry a POST you shouldn't
Learn why Aspire's ServiceDefaults add retries, a circuit breaker and service discovery to every HttpClient, and how to take them off a client that calls URLs your users chose.
7 min read
Replacing MassTransit with Wolverine: keep the bus library in one project
Learn how to put your message bus behind ports and adapters, so that replacing MassTransit with Wolverine means rewriting one adapter instead of every domain.
8 min read
Domain events vs integration events in .NET, and the transactional outbox
Learn the difference between domain events and integration events in .NET, and how a transactional outbox on EF Core and PostgreSQL makes an event exist if and only if the change committed.
7 min read
Moving from Duende IdentityServer to OpenIddict in ASP.NET Core
Learn how to replace Duende IdentityServer with OpenIddict while keeping the same OpenID Connect shape for your gateway, your API and your other clients.
8 min read
Strongly typed IDs in C# with EF Core and PostgreSQL
Learn how to replace primitive int keys with strongly typed IDs in C#, and wire them into EF Core, HiLo sequences on PostgreSQL and your API controllers.
7 min read
Keep the access token out of the browser: a BFF for Angular with ASP.NET Core and YARP
Learn how to build a Backend-for-Frontend with ASP.NET Core and YARP so that your Angular application never holds an access token.
8 min read
Hexagonal architecture in .NET: going beyond Clean Architecture
Learn how to move from a layered Clean Architecture to ports and adapters in .NET, with one project per domain and explicit doors between domains.
8 min read
Implementing Rate Limiting Middleware in ASP.NET Core
Learn how to configure ASP.NET Core's built-in rate limiting in .NET 10: the four algorithms, per-client partitions, a global limiter and 429 responses.
7 min read
Validating requests with FluentValidation
Learn how to validate ASP.NET Core requests with FluentValidation 12, in a controller and in a Minimal API endpoint filter, and return standard problem details.
7 min read