Compartir a través de


StatefulServiceBase.RunAsync(CancellationToken) Método

Definición

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 esperar cancellationToken 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