- Loading...
Sponsored by Dometrain Courses—Get 30% off Dometrain Pro with code ANDREW30 and access the best courses for .NET Developers

My new book ASP.NET Core in Action, Third Edition is available now! It supports .NET 7.0, and is available as an eBook or paperback.

Safely migrating passwords in ASP.NET Core Identity with a custom PasswordHasher
In this post I create a custom IPasswordHasher<> implementation that can be used in ASP.NET Core Identity to migrate from weak hashes like MD5 or SHA1.…

Creating singleton named options with IOptionsMonitor
In this post I introduce the IOptionsMonitor interface, and show how you can use it in place of IOptionsSnapshot to create Singleton named options…

Simplifying dependency injection for IConfigureOptions with the ConfigureOptions() helper
In this post I show how to use ConfigureOptions() to automatically register all the IConfigureOptions interfaces implemented by a type with the DI container…

Delaying strongly-typed options configuration using PostConfigure in ASP.NET Core
In this post I show how to use PostConfigure() with strongly-typed options to run configuration actions after all other Configure() actions are applied.…

Configuring named options using IConfigureNamedOptions and ConfigureAll
In this post I look at how to configure named options that require injected services and how to configure all named options at once using ConfigureAll()…

The dangers and gotchas of using scoped services in IConfigureOptions
In this post I look at the problems you can hit with strongly-typed settings when you inject Scoped services into IConfigureOptions, and how to avoid them…

