Compartilhar via


StatelessService.RunAsync(CancellationToken) Método

Definição

Os serviços que desejam implementar uma tarefa em segundo plano, que é executada quando o serviço aparece, devem substituir esse método por sua lógica.

Para obter informações sobre o ciclo de vida dos 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 cancelamento a ser monitorado para solicitações de cancelamento.

Retornos

Uma Tarefa que representa a operação pendente.

Comentários

Siga estas diretrizes ao substituir RunAsync(CancellationToken):

  • Certifique-se de que cancellationToken passado para RunAsync(CancellationToken) é honrado e uma vez que tenha sido sinalizado, RunAsync(CancellationToken) sai normalmente o mais rápido possível. Observe que, se RunAsync(CancellationToken) tiver concluído seu trabalho pretendido, ele não precisará aguardar cancellationToken para ser sinalizado e pode retornar normalmente.
  • O runtime do Service Fabric não manipula todas as exceções que escapam de RunAsync(CancellationToken). Se uma exceção sem tratamento escapar de , o runtime do RunAsync(CancellationToken)Service Fabric executará as seguintes ações:
    • Se um FabricException (ou uma de suas exceções derivadas) escapar de , o runtime do RunAsync(CancellationToken)Service Fabric removerá essa instância de serviço e uma nova instância será criada. Além disso, um aviso de integridade aparecerá em Service Fabric Explorer contendo detalhes sobre a exceção sem tratamento.
    • Se um OperationCanceledException escape de e o runtime do Service Fabric tiver solicitado o cancelamento sinalizando cancellationToken passado para RunAsync(CancellationToken), o runtime do RunAsync(CancellationToken) Service Fabric manipulará essa exceção e a considerará como uma conclusão normal de RunAsync(CancellationToken).
    • Se um OperationCanceledException escape de e o runtime do RunAsync(CancellationToken) Service Fabric NÃO tiver solicitado o cancelamento sinalizando cancellationToken passado para RunAsync(CancellationToken), o processo que está hospedando essa instância de serviço será reduzido. Isso afetará todas as outras instâncias de serviço hospedadas pelo mesmo processo. Os detalhes sobre exceções sem tratamento podem ser exibidos no Windows Visualizador de Eventos.
    • Se uma exceção de qualquer outro tipo escapar de RunAsync(CancellationToken) , o processo que está hospedando essa instância de serviço será reduzido. Isso afetará todas as outras instâncias de serviço hospedadas pelo mesmo processo. Os detalhes sobre exceções sem tratamento podem ser exibidos no Windows Visualizador de Eventos.

Não estar em conformidade com essas diretrizes pode fazer com que o failover, a reconfiguração ou a atualização do serviço fiquem paralisados e possam afetar a disponibilidade do serviço.

Aplica-se a