StatefulServiceBase.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í.
Este método se implementa como un bucle de procesamiento y solo se llamará cuando la réplica sea principal con estado de escritura. Invalide este método con la lógica de la aplicación.
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 entorno de ejecución de Service Fabric reiniciará esta réplica de servicio. 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 entorno de ejecución de Service Fabric NO ha solicitado la cancelación mediante la
cancellationToken
señalización que se pasa a RunAsync(CancellationToken), el proceso que hospeda esta réplica de servicio se reduce. Esto afectará a todas las demás réplicas 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 réplica de servicio. Esto afectará a todas las demás réplicas 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