StatelessService.RunAsync(CancellationToken) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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 gewartetcancellationToken
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:
Azure SDK for .NET