StatelessService.RunAsync(CancellationToken) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Los servicios que quieren implementar una tarea en segundo plano, que se ejecuta cuando aparece el servicio, deben invalidar este método con su lógica.
Para obtener información sobre el ciclo de vida de Reliable Services, consulte 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
Parámetros
- cancellationToken
- CancellationToken
Token de cancelación para supervisar las solicitudes de cancelación.
Devoluciones
Tarea que representa una operación pendiente.
Comentarios
Asegúrese de seguir estas instrucciones al invalidar RunAsync(CancellationToken):
- Asegúrese de que
cancellationToken
se pasa a RunAsync(CancellationToken) se respeta y, una vez que se ha señalado, RunAsync(CancellationToken) se cierra correctamente lo antes posible. Tenga en cuenta que si RunAsync(CancellationToken) ha terminado su trabajo previsto, no es necesario esperarcancellationToken
a que se indique y puede devolver correctamente. - El entorno de ejecución de Service Fabric no controla todas las excepciones que se escapan de RunAsync(CancellationToken). Si una excepción no controlada se escapa de RunAsync(CancellationToken), el entorno de ejecución de Service Fabric realiza las siguientes acciones:
- Si un FabricException objeto (o una de sus excepciones derivadas) se escapa de RunAsync(CancellationToken), el tiempo de ejecución de Service Fabric quitará esta instancia de servicio y se creará una nueva instancia. Además, aparecerá una advertencia de estado en Service Fabric Explorer que contiene detalles sobre la excepción no controlada.
- Si un OperationCanceledException escape de RunAsync(CancellationToken) y el entorno de ejecución de Service Fabric ha solicitado la cancelación mediante la
cancellationToken
señalización que se pasa a RunAsync(CancellationToken), el tiempo de ejecución de Service Fabric controla esta excepción y lo considera como una finalización correcta de RunAsync(CancellationToken). - Si un OperationCanceledException escape de RunAsync(CancellationToken) y el tiempo de ejecución de Service Fabric NO ha solicitado la cancelación mediante la
cancellationToken
señalización que se pasa a RunAsync(CancellationToken), se reduce el proceso que hospeda esta instancia de servicio. Esto afectará a todas las demás instancias de servicio hospedadas por el mismo proceso. Los detalles sobre las excepciones no controladas se pueden ver en Windows Visor de eventos. - Si se produce una excepción de cualquier otro tipo de escape, RunAsync(CancellationToken) se reduce el proceso que hospeda esta instancia de servicio. Esto afectará a todas las demás instancias de servicio hospedadas por el mismo proceso. Los detalles sobre las excepciones no controladas se pueden ver en Windows Visor de eventos.
Si no cumple estas instrucciones, puede hacer que la conmutación por error, la reconfiguración o la actualización del servicio se bloqueen y puedan afectar a la disponibilidad del servicio.
Se aplica a
Azure SDK for .NET