IdentityServer4 is Dead: Long Live OpenIddict

With IdentityServer4 reaching End of Life (and its successor Duende becoming commercial), .NET developers need an open-source alternative for OIDC providers. **OpenIddict** is the answer. Configuration OpenIddict integrates deeply with ASP.NET Core Identity and EF Core. Key Takeaways It’s more “bare metal” than IdentityServer; you build your own UI. Supports the full OAuth2/OIDC test suite.

Read more β†’

Azure Container Apps: KEDA and Dapr Managed

Azure Container Apps (ACA) is the “Serverless Containers” offering we’ve been waiting for. Built on Kubernetes but hiding the cluster, it integrates **KEDA** (for event-driven scaling) and **Dapr** (for building blocks) natively. Scaling to Zero Unlike App Service, ACA can scale to 0 replicas when no events are processing, saving money. Dapr Integration Enable Dapr […]

Read more β†’

C# 10: File-Scoped Namespaces

Vertical whitespace is valuable. The “block-scoped” namespace syntax indents every single class in your project, wasting 4 spaces of indentation. C# 10 introduces File-Scoped namespaces to reclaim that space. Comparison Key Takeaways Use `dotnet format` or IDE cleanup to convert your entire solution automatically. You cannot mix file-scoped and block-scoped namespaces in the same file.

Read more β†’

.NET MAUI: The Project Reunion

.NET MAUI (Multi-platform App UI) is the evolution of Xamarin.Forms. It introduces a single-project structure to target Android, iOS, macOS, and Windows. Single Project Structure No more `App.Android`, `App.iOS` projects. Resources (Images, Fonts) are shared automatically. The Handler Architecture MAUI ditches Renderers (slow, tightly coupled) for **Handlers**, which map virtual controls to native controls more […]

Read more β†’

Azure Web PubSub: Real-time WebSockets

SignalR is great, but sometimes you want raw WebSockets or support for other languages (Python, Java clients). **Azure Web PubSub** is a managed WebSocket service that supports native WebSocket clients and the PubSub subprotocol. Architecture The service handles the massive concurrent connections. Your server only handles events (Connect, Message) via Webhooks. Key Takeaways Supports standard […]

Read more β†’