StatelessService.RunAsync(CancellationToken) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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á aguardarcancellationToken
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
Azure SDK for .NET