Keyed Services (Named registrations) in .NET Service Provider
Learn how to use keyed services in .NET 8's DI container to register and inject named implementations, avoiding last-registration-wins issues.
Maarten Balliauw is a cloud and web development expert specializing in .NET, C#, Microsoft Azure, and application performance. Frequent international speaker and Head of Customer Success at Duende Software.
438 articles from this blog
Learn how to use keyed services in .NET 8's DI container to register and inject named implementations, avoiding last-registration-wins issues.
A .NET developer shares his journey of writing a fiction novel, using engineering processes and tools to structure his first book.
Learn how .NET 8's TimeProvider replaces homegrown DateTime wrappers for testable time-dependent code.
C# 15 introduces first-class discriminated unions with the new union keyword, enabling exhaustive pattern matching and implicit conversions.
Explains what IdentityServer is, its role as a .NET OAuth/OIDC identity provider, and when you need it versus simpler ASP.NET Identity.
A developer advocate announces leaving JetBrains after 12 years to join Duende Software, focusing on IdentityServer and developer tools.
A talk on strategies and techniques for migrating existing C# codebases to use nullable reference types and improve null safety.
A developer's hands-on experience testing Windows 11's new Dev Drive feature, exploring its ReFS-based performance benefits for .NET and other development workflows.
Explains how to use C#12's new ExperimentalAttribute to mark and require opt-in for experimental APIs in libraries, preventing accidental usage.
Explores the concept of discriminated unions in C#, their implementation using generic Results classes, and their application in ASP.NET Core Minimal APIs.
A guide to running open-source Large Language Models (LLMs) like LLaMA locally on your CPU using C# and the LLamaSharp library.
Explains strategies to handle nullable reference type warnings when deserializing JSON into C# object models, comparing different approaches and their trade-offs.
A guide to using your own domain for Mastodon account discovery without self-hosting a full server, focusing on WebFinger and ActivityPub.
Explores rate limiting concepts for web apps, covering why it's needed, algorithms, and implementation strategies with .NET examples.
Explains how to use the built-in rate limiting middleware in ASP.NET Core .NET 7 to control API and web app traffic.
A tutorial on testing ASP.NET Core Minimal APIs using xUnit, covering unit and integration tests for endpoints.
Final part of a series on migrating C# codebases to nullable reference types, covering practical techniques and tools for incremental adoption.
Part 3 of a series on migrating C# code to nullable reference types, focusing on advanced annotations and attributes for better compiler flow analysis.
Explores how C# nullable reference types work under the hood, comparing their IL compilation to nullable value types.
A guide to migrating existing C# codebases to use nullable reference types, covering concepts, techniques, and tools to reduce NullReferenceExceptions.