次の方法で共有


StatefulServiceBase.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)渡された が受け入れられ、シグナルが送信されると、RunAsync(CancellationToken)できるだけ早く正常に終了することを確認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 ランタイムが に渡されたシグナルによってキャンセルをcancellationTokenRunAsync(CancellationToken)要求していない場合、このサービス レプリカをホストしているプロセスが停止します。 これは、同じプロセスによってホストされている他のすべてのサービス レプリカに影響します。 ハンドルされない例外の詳細は、Windows イベント ビューアーで確認できます。
    • 他の型の例外が から RunAsync(CancellationToken) エスケープされた場合は、このサービス レプリカをホストしているプロセスが停止します。 これは、同じプロセスによってホストされている他のすべてのサービス レプリカに影響します。 ハンドルされない例外の詳細は、Windows イベント ビューアーで確認できます。

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

適用対象