Sprache

DataAnnotationValidateOptions<TOptions>.ValidateAsync Methode

Definition

Überprüft asynchron eine bestimmte benannte Optionsinstanz (oder alle, wenn name null ist).

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)

Parameter

name
String

Der Name der zu überprüfenden Optionsinstanz.

options
TOptions

Die Optionsinstanz.

cancellationToken
CancellationToken

Das Token, das auf Abbruchanforderungen überwacht werden soll.

Gibt zurück

Das ValidateOptionsResult Ergebnis.

Implementiert

Hinweise

Der integrierte Pfad für asynchrone Optionen ruft diese Methode anstelle von Validate(String, TOptions). Diese Methode führt eine vollständige DataAnnotations-Überprüfung durch, einschließlich synchroner und asynchroner Attribute, und überprüft rekursiv elemente, die mit ValidateObjectMembersAttribute oder .ValidateEnumeratedItemsAttribute Die cancellationToken Wird von Host.StartAsync(CancellationToken). Standardmäßig wird kein Starttimeout angewendet. Konfigurieren HostOptions.StartupTimeout oder Übergeben eines CancellationToken Timeouts an Host.StartAsync gebundene E/A-gebundene Asynchrone Validatoren:

builder.Services.Configure<HostOptions>(opts =>
    opts.StartupTimeout = TimeSpan.FromSeconds(30));

Die Stornierung ist kooperativ. Die Überprüfungsbereinigung wartet auf die Arbeit, sodass ein Validator, der das Token ignoriert, den Abschluss verzögern kann. Eine abbruch mit Timeout verknüpfte Tokenanforderung; es erzwingt keinen endgültigen Abschlusstermin.

Gilt für: