- Loading...
-
Sponsored by Nick Chapsas—Want to learn how to build elegant REST APIs in .NET? Get 5% off Nick's latest course "From Zero to Hero: REST APIs in .NET"!
-
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. Get 45% off with the code pblock3, only until August 17th!
-
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…