DataAnnotationValidateOptions<TOptions>.ValidateAsync Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Valida assíncronamente uma instância de opções nomeada específica (ou todas as quando name é nulo).
public System.Threading.Tasks.Task<Microsoft.Extensions.Options.ValidateOptionsResult> ValidateAsync(string? name, TOptions options, System.Threading.CancellationToken cancellationToken = default);
abstract member ValidateAsync : string * 'Options * System.Threading.CancellationToken -> System.Threading.Tasks.Task<Microsoft.Extensions.Options.ValidateOptionsResult>
override this.ValidateAsync : string * 'Options * System.Threading.CancellationToken -> System.Threading.Tasks.Task<Microsoft.Extensions.Options.ValidateOptionsResult>
Public Function ValidateAsync (name As String, options As TOptions, Optional cancellationToken As CancellationToken = Nothing) As Task(Of ValidateOptionsResult)
Parâmetros
- name
- String
O nome da instância de opções que está a ser validada.
- options
- TOptions
A instância de opções.
- cancellationToken
- CancellationToken
O token para monitorizar pedidos de cancelamento.
Devoluções
O ValidateOptionsResult resultado.
Implementações
Observações
O caminho de opções assíncrono incorporado invoca este método em vez de Validate(String, TOptions). Este método realiza validação completa de DataAnnotations, incluindo atributos síncronos e assíncronos, e valida recursivamente membros marcados com ValidateObjectMembersAttribute ou ValidateEnumeratedItemsAttribute. O cancellationToken é propagado a partir de Host.StartAsync(CancellationToken). Por defeito, não é aplicado nenhum timeout de arranque. Configure HostOptions.StartupTimeout ou passe um CancellationToken com um timeout para Host.StartAsync validadores assíncronos vinculados a I/O:
builder.Services.Configure<HostOptions>(opts =>
opts.StartupTimeout = TimeSpan.FromSeconds(30));
O cancelamento é colaborativo. A limpeza da validação aguarda o início do trabalho, por isso um validador que ignore o token pode atrasar a conclusão. Um token ligado ao timeout solicita o cancelamento; não impõe um prazo rígido de conclusão.