WorkflowRuntimeService.Start Método

Definição

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

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

Exceções

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

- ou -

O serviço já foi iniciado.

Exemplos

O exemplo a seguir demonstra a chamada do método Start em um objeto derivado de WorkflowRuntimeService, TerminationTrackingService. Este exemplo é do exemplo do SDK do Serviço de Acompanhamento de Terminação. Para obter mais informações, consulte Exemplo de serviço de acompanhamento de terminação.

protected override void Start()
{
    base.Start();
    //
    // This will throw if we are invalid to inform the host immediately
    ValidateEventLogSource(source);
}
Protected Overrides Sub Start()
    MyBase.Start()
    '
    ' This will throw if we are invalid to inform the host immediately
    ValidateEventLogSource(source)
End Sub

Comentários

Start é invocado pelo mecanismo de runtime de fluxo de trabalho em todos os seus serviços que derivam da WorkflowRuntimeService classe quando StartRuntime é chamado.

Start também é invocado pelo mecanismo de runtime de fluxo de trabalho quando um serviço de mecanismo de runtime de fluxo de trabalho é adicionado ao mecanismo de runtime de fluxo de trabalho por uma chamada para AddService depois que o mecanismo de runtime de fluxo de trabalho já foi iniciado. A implementação padrão de Start controla se o serviço foi iniciado e usa essas informações para gerar a exceção apropriada se o serviço for iniciado enquanto ele já estiver em execução.

Você pode fornecer funcionalidade adicional necessária para que seu serviço seja iniciado pelo mecanismo de runtime de fluxo de trabalho substituindo esse método. Não há nenhuma garantia sobre quais, se houver, os serviços serão executados quando o mecanismo de runtime de fluxo de trabalho chamar Start em seu serviço. Portanto, no Start método , você só deve executar qualquer inicialização que não dependa da funcionalidade fornecida por outros serviços. Isso inclui a funcionalidade fornecida pelos principais serviços, como o serviço agendador. O mecanismo de runtime de fluxo de trabalho gera o WorkflowRuntime.Started evento depois de ter chamado o Start método de todos os seus serviços de mecanismo de runtime de fluxo de trabalho. Se o serviço exigir inicialização adicional depois que todos os serviços do mecanismo de runtime de fluxo de trabalho tiverem sido iniciados, você poderá substituir o OnStarted método para executar essa inicialização quando o Start evento for acionado.

Observação

Se o serviço for adicionado ao mecanismo de runtime de fluxo de trabalho por uma chamada para AddService depois que o mecanismo de runtime de fluxo de trabalho já tiver sido iniciado, o mecanismo de runtime de fluxo de trabalho chamará Start em seu serviço. No entanto, nessa situação, o Started evento já ocorreu, portanto, seu serviço pode ter que executar qualquer inicialização que normalmente seria executada dentro OnStarted do Start método . Você pode testar IsStarted para determinar se o mecanismo de runtime de fluxo de trabalho foi iniciado.

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

Aplica-se a