Configure ASP.NET Core Options Programmatically
December 21, 2024
How to configure ASP.NET Core options classes programmatically using delegates and IConfigureOptions for flexible, testable configuration.
Posted 12/21/2024
Configure options with a delegate
using SampleApp.Models;
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddRazorPages();
builder.Services.Configure<MyOptions>(myOptions =>
{
myOptions.Option1 = "Value configured in delegate";
myOptions.Option2 = 500;
});
var app = builder.Build();
Configure options for Unit tests
We dont mock this options, just use Create extension method from Microsoft.Extensions.Options.Options class.
private readonly IOptions<DistributedLockOptions> _options;
...
_options = Microsoft.Extensions.Options.Options.Create(new DistributedLockOptions
{
...
});