Freigeben über


StatefulServiceBase.RunAsync(CancellationToken) Methode

Definition

Diese Methode wird als Verarbeitungsschleife implementiert und wird nur aufgerufen, wenn das Replikat primär mit Schreibzugriff status ist. Überschreiben Sie diese Methode mit der Anwendungslogik.

Informationen zum Lebenszyklus von Reliable Services finden Sie unter 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

Parameter

cancellationToken
CancellationToken

Abbruchtoken, das auf Abbruchanforderungen überwacht werden soll.

Gibt zurück

Eine Aufgabe , die einen hervorragenden Vorgang darstellt.

Hinweise

Achten Sie beim Überschreiben RunAsync(CancellationToken)auf die folgenden Richtlinien:

  • Stellen Sie sicher, dass cancellationToken der Pass an RunAsync(CancellationToken) berücksichtigt wird und sobald es signalisiert wurde, RunAsync(CancellationToken) so schnell wie möglich anmutig aus. Bitte beachten Sie, dass, wenn RunAsync(CancellationToken) die beabsichtigte Arbeit abgeschlossen ist, es nicht warten cancellationToken muss, bis es signalisiert wird, und kann ordnungsgemäß zurückkehren.
  • Die Service Fabric-Runtime verarbeitet nicht alle Ausnahmen, die aus RunAsync(CancellationToken)escapen. Wenn eine nicht behandelte Ausnahme von RunAsync(CancellationToken)escapet, führt Service Fabric-Runtime die folgenden Aktionen aus:
    • Wenn eine FabricException (oder eine der abgeleiteten Ausnahmen) escapet RunAsync(CancellationToken), startet Die Service Fabric-Runtime dieses Dienstreplikat neu. In Service Fabric Explorer wird eine Integritätswarnung angezeigt, die Details zur nicht behandelten Ausnahme enthält.
    • Wenn ein OperationCanceledException Escapezeichen von RunAsync(CancellationToken) ausgeführt wird und die Service Fabric-Runtime den Abbruch durch signalisiert cancellationToken hat, dass an RunAsync(CancellationToken)übergeben wird, behandelt Die Service Fabric-Runtime diese Ausnahme und betrachtet sie als ordnungsgemäße Vervollständigung von RunAsync(CancellationToken).
    • Wenn ein OperationCanceledException Escapevorgang von RunAsync(CancellationToken) ausgeführt wird und die Service Fabric-Runtime KEINEN Abbruch angefordert hat, indem signalisiert cancellationToken wird, dass an übergeben wird RunAsync(CancellationToken), wird der Prozess, der dieses Dienstreplikat hostet, heruntergefahren. Dies wirkt sich auf alle anderen Dienstreplikate aus, die vom gleichen Prozess gehostet werden. Die Details zu nicht behandelten Ausnahmen können in Windows Ereignisanzeige angezeigt werden.
    • Wenn eine Ausnahme eines anderen Typs escapet RunAsync(CancellationToken) , wird der Prozess, der dieses Dienstreplikat hostet, heruntergefahren. Dies wirkt sich auf alle anderen Dienstreplikate aus, die vom gleichen Prozess gehostet werden. Die Details zu nicht behandelten Ausnahmen können in Windows Ereignisanzeige angezeigt werden.

Wenn diese Richtlinien nicht eingehalten werden, kann das Failover, die Neukonfiguration oder das Upgrade Ihres Diensts zum Ausfall führen und sich auf die Verfügbarkeit Ihres Diensts auswirken.

Gilt für: