Freigeben über


StatelessService.RunAsync(CancellationToken) Methode

Definition

Dienste, die eine Hintergrundaufgabe implementieren möchten, die beim Aufrufen des Diensts ausgeführt wird, sollten diese Methode mit ihrer Logik überschreiben.

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 zum Überwachen von Abbruchanforderungen.

Gibt zurück

Ein Task , der einen ausstehenden Vorgang darstellt.

Hinweise

Stellen Sie sicher, dass Sie diese Richtlinien befolgen, wenn Sie überschreiben RunAsync(CancellationToken):

  • Stellen Sie sicher, dass cancellationToken passed an RunAsync(CancellationToken) berücksichtigt wird, und sobald es signalisiert wurde, RunAsync(CancellationToken) wird so bald wie möglich ordnungsgemäß beendet. Bitte beachten Sie, dass, wenn RunAsync(CancellationToken) die beabsichtigte Arbeit abgeschlossen ist, nicht auf die Signalisierung gewartet cancellationToken werden muss und ordnungsgemäß zurückgegeben werden kann.
  • Die Service Fabric-Runtime behandelt nicht alle Ausnahmen, die aus RunAsync(CancellationToken)escapen. Wenn eine nicht behandelte Ausnahme aus RunAsync(CancellationToken)escapet, führt die Service Fabric-Runtime die folgenden Aktionen aus:
    • Wenn ein FabricException (oder eine seiner abgeleiteten Ausnahmen) aus RunAsync(CancellationToken)escapet, löscht die Service Fabric-Runtime diesen Dienst instance, und es wird eine neue instance erstellt. Darüber hinaus wird in Service Fabric Explorer eine Integritätswarnung angezeigt, die Details zu nicht behandelten Ausnahmen enthält.
    • Wenn ein OperationCanceledException escapet RunAsync(CancellationToken) und die Service Fabric-Runtime einen Abbruch durch Signalisierung cancellationToken angefordert hat, die an RunAsync(CancellationToken)übergeben wird, behandelt 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, RunAsync(CancellationToken)wird der Prozess, der diesen Dienst instance hostet, heruntergefahren. Dies wirkt sich auf alle anderen Dienstinstanzen 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 diesen Dienst instance hostet, heruntergefahren. Dies wirkt sich auf alle anderen Dienstinstanzen 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 dies dazu führen, dass ein Failover, eine Neukonfiguration oder ein Upgrade Ihres Diensts hängen bleibt und sich auf die Verfügbarkeit Ihres Diensts auswirken kann.

Gilt für: