Compartilhar via


WorkflowRuntimeService.Stop Método

Definição

Quando substituído em uma classe derivada, interrompe o serviço e altera o State para Stopping.

protected public:
 virtual void Stop();
protected internal virtual void Stop ();
abstract member Stop : unit -> unit
override this.Stop : unit -> unit
Protected Friend Overridable Sub Stop ()

Exceções

Runtime é uma referência nula (Nothing no Visual Basic).

- ou -

O serviço ainda não foi iniciado.

Comentários

Stop é invocado pelo mecanismo de runtime de fluxo de trabalho em todos os seus serviços que derivam da WorkflowRuntimeService classe quando StopRuntime é chamado. Stop também é invocado pelo mecanismo de runtime de fluxo de trabalho quando um serviço de mecanismo de runtime de fluxo de trabalho é removido do mecanismo de runtime de fluxo de trabalho por uma chamada para RemoveService. A implementação padrão de Stop controla se o serviço foi iniciado e usa essas informações para gerar a exceção apropriada se o serviço for interrompido antes de ser iniciado.

Você pode fornecer funcionalidade adicional necessária para que seu serviço seja interrompido pelo mecanismo de runtime de fluxo de trabalho substituindo esse método. Não há nenhuma garantia sobre quais serviços serão interrompidos ou executados quando Stop for chamado em seu serviço. O mecanismo de runtime de fluxo de trabalho aciona o WorkflowRuntime.Stopped evento depois de ter chamado o Stop método de todos os seus serviços de mecanismo de runtime de fluxo de trabalho. Seu serviço pode precisar manter alguma funcionalidade residual para dar suporte a outros serviços até que todos os serviços do mecanismo de runtime de fluxo de trabalho tenham seus métodos de parada invocados pelo mecanismo de runtime de fluxo de trabalho. Se o serviço precisar manter essa funcionalidade, você poderá substituir o OnStopped método para executar qualquer ação adicional necessária para concluir a interrupção do serviço quando o WorkflowRuntime.Stopped evento for acionado.

Observação

Se o WorkflowRuntimeService for removido do mecanismo de runtime de fluxo de trabalho por uma chamada para RemoveService enquanto o mecanismo de runtime de fluxo de trabalho estiver em execução, o mecanismo de runtime de fluxo de trabalho chamará Stop em seu serviço. No entanto, nessa situação, o OnStopped método não será chamado para seu serviço. Portanto, seu serviço pode ter que executar qualquer funcionalidade de desligamento adicional que normalmente seria executada dentro OnStopped do Stop método . Você pode testar IsStarted para determinar se o mecanismo de runtime de fluxo de trabalho está em execução.

Stop só deve ser chamado pelo mecanismo de runtime de fluxo de trabalho.

Aplica-se a