C# · Intermediário · Inglês · Técnico
options pattern
Padrão do .NET para ligar uma seção de configuração a uma classe fortemente tipada e injetá-la como IOptions<T>, IOptionsSnapshot<T> ou IOptionsMonitor<T>.
Onde usar
Aparece quando serviços precisam de configurações, como URL e timeout de um cliente externo, sem ler IConfiguration por toda parte. O IOptionsMonitor reage a mudanças do arquivo, e ValidateOnStart falha cedo se algo estiver errado.
Em código
builder.Services.Configure<ApiOpts>(
builder.Configuration.GetSection("Api"));
class ApiOpts
{
public string Url { get; set; } = "";
}
// injete IOptions<ApiOpts> onde usarExemplos
Bind the section using the options pattern.
Ligue a seção usando o options pattern.
Inject IOptions instead of reading the configuration directly.
Injete IOptions em vez de ler a configuração direto.
Cuidado
Não injete IConfiguration em cada classe para ler chaves em string: perde tipagem e validação.
Sinônimos
IOptions