次の方法で共有


StatelessService.RunAsync(CancellationToken) メソッド

定義

サービスが起動したときに実行されるバックグラウンド タスクを実装するサービスは、そのロジックでこのメソッドをオーバーライドする必要があります。

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 イベント ビューアーで確認できます。

これらのガイドラインに準拠しないと、サービスのフェールオーバー、再構成、またはアップグレードが停止し、サービスの可用性に影響を与える可能性があります。

適用対象