Partilhar via


StatefulServiceBase.RunAsync(CancellationToken) Método

Definição

Esse método é implementado como um loop de processamento e só será chamado quando o réplica for primário com status de gravação. Substitua esse método pela lógica do aplicativo.

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 reiniciará esse serviço réplica. Um aviso de integridade será exibido 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 esse serviço réplica será reduzido. Isso afetará todas as outras réplicas 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 esse serviço réplica será reduzido. Isso afetará todas as outras réplicas 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