StatelessService.RunAsync(CancellationToken) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
サービスが起動したときに実行されるバックグラウンド タスクを実装するサービスは、そのロジックでこのメソッドをオーバーライドする必要があります。
Reliable Services のライフ サイクルの詳細については、以下を参照してください。 https://docs.microsoft.com/azure/service-fabric/service-fabric-reliable-services-lifecycle
protected virtual System.Threading.Tasks.Task RunAsync (System.Threading.CancellationToken cancellationToken);
abstract member RunAsync : System.Threading.CancellationToken -> System.Threading.Tasks.Task
override this.RunAsync : System.Threading.CancellationToken -> System.Threading.Tasks.Task
Protected Overridable Function RunAsync (cancellationToken As CancellationToken) As Task
パラメーター
- cancellationToken
- CancellationToken
キャンセル要求を監視するキャンセル トークン。
戻り値
未処理の操作を表す Task 。
注釈
をオーバーライドするときは、次のガイドラインに RunAsync(CancellationToken)従ってください。
- にRunAsync(CancellationToken)渡されたことが尊重されていることを確認
cancellationToken
し、シグナルが通知されたら、RunAsync(CancellationToken)できるだけ早く正常に終了します。 意図した作業が完了した場合 RunAsync(CancellationToken) は、通知を受cancellationToken
け取るのを待つ必要がないため、正常に戻ることができます。 - Service Fabric ランタイムは、 から RunAsync(CancellationToken)エスケープするすべての例外を処理するわけではありません。 ハンドルされない例外が から RunAsync(CancellationToken)エスケープされた場合、Service Fabric ランタイムは次のアクションを実行します。
- FabricException (またはその派生例外の 1 つ) が からRunAsync(CancellationToken)エスケープされた場合、Service Fabric ランタイムはこのサービス インスタンスを削除し、新しいインスタンスが作成されます。 さらに、未処理の例外に関する詳細を含むService Fabric Explorerに正常性警告が表示されます。
- OperationCanceledExceptionと Service Fabric ランタイムからのRunAsync(CancellationToken)エスケープが に渡されたシグナルによって取り消しを
cancellationToken
要求した場合、Service Fabric ランタイムはこの例外をRunAsync(CancellationToken)処理し、 のRunAsync(CancellationToken)正常な完了と見なします。 - OperationCanceledExceptionからRunAsync(CancellationToken)エスケープし、Service Fabric ランタイムが にRunAsync(CancellationToken)渡されたシグナリングによってキャンセルを
cancellationToken
要求していない場合、このサービス インスタンスをホストしているプロセスが停止します。 これは、同じプロセスによってホストされている他のすべてのサービス インスタンスに影響します。 未処理の例外に関する詳細は、Windows イベント ビューアーで確認できます。 - 他の型の例外が から RunAsync(CancellationToken) エスケープされた場合、このサービス インスタンスをホストしているプロセスは停止します。 これは、同じプロセスによってホストされている他のすべてのサービス インスタンスに影響します。 未処理の例外に関する詳細は、Windows イベント ビューアーで確認できます。
これらのガイドラインに準拠しないと、サービスのフェールオーバー、再構成、またはアップグレードが停止し、サービスの可用性に影響を与える可能性があります。
適用対象
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
Azure SDK for .NET