Partager via


StatefulServiceBase.RunAsync(CancellationToken) Méthode

Définition

Cette méthode est implémentée en tant que boucle de traitement et n’est appelée que lorsque le réplica est principal avec status d’écriture. Remplacez cette méthode par la logique d’application.

Pour plus d’informations sur le cycle de vie de Reliable Services, consultez 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

Paramètres

cancellationToken
CancellationToken

Jeton d’annulation pour surveiller les demandes d’annulation.

Retours

Tâche qui représente l’opération en suspens.

Remarques

Veillez à suivre ces instructions lors de la RunAsync(CancellationToken)substitution :

  • Assurez-vous que cancellationToken passé à RunAsync(CancellationToken) est respecté et une fois qu’il a été signalé, RunAsync(CancellationToken) quitte avec grâce dès que possible. Veuillez noter que si RunAsync(CancellationToken) a terminé son travail prévu, il n’a pas besoin d’attendre pour cancellationToken être signalé et peut retourner avec grâce.
  • Le runtime Service Fabric ne gère pas toutes les exceptions qui s’échappent de RunAsync(CancellationToken). Si une exception non gérée s’échappe de RunAsync(CancellationToken), le runtime Service Fabric effectue les actions suivantes :
    • Si un FabricException (ou l’une de ses exceptions dérivées) s’échappe de RunAsync(CancellationToken), le runtime Service Fabric redémarre ce service réplica. Un avertissement d’intégrité s’affiche dans Service Fabric Explorer contenant des détails sur l’exception non prise en charge.
    • Si un OperationCanceledException s’échappe de RunAsync(CancellationToken) et que le runtime Service Fabric a demandé l’annulation en signalant cancellationToken passé à RunAsync(CancellationToken), le runtime Service Fabric gère cette exception et la considère comme l’achèvement gracieux de RunAsync(CancellationToken).
    • Si un OperationCanceledException échappement de RunAsync(CancellationToken) et le runtime Service Fabric n’a PAS demandé l’annulation en signalant cancellationToken passé à RunAsync(CancellationToken), le processus qui héberge ce service réplica est arrêté. Cela aura un impact sur tous les autres réplicas de service hébergés par le même processus. Les détails des exceptions non gérées peuvent être consultés dans Windows observateur d'événements.
    • Si une exception d’un autre type s’échappe, RunAsync(CancellationToken) le processus qui héberge ce service réplica est arrêté. Cela aura un impact sur tous les autres réplicas de service hébergés par le même processus. Les détails des exceptions non gérées peuvent être consultés dans Windows observateur d'événements.

Si vous ne vous conformez pas à ces recommandations, vous pouvez bloquer le basculement, la reconfiguration ou la mise à niveau de votre service et avoir un impact sur la disponibilité de votre service.

S’applique à