Third-party middleware packages are no longer necessary thanks to native performance features included in modern.NET: While output caching significantly lowers database load by storing whole HTTP replies server-side, rate limitation shields your APIs against misuse and denial-of-service attacks. Step 1: Configuring Built-In Rate Limiting Rate limiting controls the frequency of requests clients can make to…
Category: Hosting Review
You Don’t Need to Create All Properties Inside a DTO to Successfully Deserialize
The example below might seem like very simple advice, but I found people across many codebases do not know this. This, in turn, leads to excessive usage of the JsonNode class, forcing developers to lose the benefits of compiler support in a strongly typed language. Example JSON Consider the JSON below: string json = “””…
Minimal APIs vs Controllers: The .NET Debate That Just Won’t Die
Picture this. It’s Monday morning, and your team lead drops a message in the group chat: “New service starting today. Minimal API or Controller?” A few seconds of silence follow. Then everyone starts typing at once. Even years after Minimal APIs were introduced, this question continues to divide .NET teams. Some developers prefer the simplicity…
ASP.NET Core Tutorial :: How to Manage Vendor-Neutral Feature Flags with OpenFeature?
Feature flags are becoming a crucial component of contemporary software development. They enable canary deployments, A/B testing, progressive feature releases, and the rapid disabling of troublesome functionality without requiring the deployment of new code. Vendor lock-in is a problem that many businesses face when using a feature flag platform, despite the fact that feature flags…
Using Keycloak as a Unified IAM Broker to Address Federation and SAML Issues with Duende IdentityServer
Modern enterprise applications rarely rely on a single identity provider. Organizations often integrate with multiple external systems such as partners, SAML providers, and OIDC providers. Managing these integrations directly within an application or a single IAM system can quickly become complex, brittle, and difficult to scale. In our implementation, we initially used Duende IdentityServer as…
