Language

DataAnnotationValidateOptions<TOptions>.ValidateAsync メソッド

定義

特定の名前付きオプション インスタンス (または、 name が null の場合はすべて) を非同期的に検証します。

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)

パラメーター

name
String

検証対象のオプション インスタンスの名前。

options
TOptions

オプション インスタンス。

cancellationToken
CancellationToken

キャンセル要求を監視するトークン。

戻り値

ValidateOptionsResult結果。

実装

注釈

組み込みの非同期オプション パスは、 Validate(String, TOptions)の代わりにこのメソッドを呼び出します。 このメソッドは、同期属性と非同期属性を含む完全な DataAnnotations 検証を実行し、 ValidateObjectMembersAttribute または ValidateEnumeratedItemsAttributeでマークされたメンバーを再帰的に検証します。 cancellationTokenはHost.StartAsync(CancellationToken)から伝達されます。 既定では、スタートアップ タイムアウトは適用されません。 HostOptions.StartupTimeoutを構成するか、タイムアウトでCancellationTokenを渡して、バインドされた I/O バインド非同期検証コントロールにHost.StartAsyncします。

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

キャンセルは協調して行われます。 検証のクリーンアップは作業の開始を待機するため、トークンを無視する検証コントロールによって完了が遅れる可能性があります。 タイムアウトリンクトークンはキャンセルを要求します。ハード完了期限は適用されません。

適用対象