WorkflowRuntimeService.Stop Metodo

Definizione

Quando sottoposto a override in una classe derivata, arresta il servizio e modifica in StateStopping.

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 ()

Eccezioni

Runtime è un riferimento Null (Nothing in Visual Basic).

oppure

Il servizio non è ancora stato avviato.

Commenti

Stop viene richiamato dal motore di runtime del flusso di lavoro su tutti i relativi servizi che derivano dalla WorkflowRuntimeService classe quando StopRuntime viene chiamato . Stop viene richiamato anche dal motore di runtime del flusso di lavoro quando un servizio del motore di runtime del flusso di lavoro viene rimosso dal motore di runtime del flusso di lavoro da una chiamata a RemoveService. L'implementazione predefinita di Stop tiene traccia se il servizio è stato avviato e usa queste informazioni per generare l'eccezione appropriata se il servizio viene arrestato prima dell'avvio.

È possibile fornire funzionalità aggiuntive necessarie per arrestare il servizio dal motore di runtime del flusso di lavoro eseguendo l'override di questo metodo. Non esiste alcuna garanzia su quale, se presente, i servizi verranno arrestati o in esecuzione quando Stop viene chiamato sul servizio. Il motore di runtime del flusso di lavoro genera l'evento WorkflowRuntime.Stopped dopo che ha chiamato il Stop metodo di tutti i servizi del motore di runtime del flusso di lavoro. Il servizio potrebbe dover conservare alcune funzionalità residui per supportare altri servizi fino a quando tutti i servizi del motore di runtime del flusso di lavoro non hanno chiamato i metodi di arresto richiamati dal motore di runtime del flusso di lavoro. Se il servizio deve mantenere tale funzionalità, è possibile eseguire l'override del OnStopped metodo per eseguire qualsiasi azione aggiuntiva necessaria per terminare l'arresto del servizio quando viene generato l'evento WorkflowRuntime.Stopped .

Note

WorkflowRuntimeService Se l'oggetto viene rimosso dal motore di runtime del flusso di lavoro da una chiamata a RemoveService mentre il motore di runtime del flusso di lavoro è in esecuzione, il motore di runtime del flusso di lavoro chiamerà Stop sul servizio. In questa situazione, tuttavia, il OnStopped metodo non verrà chiamato per il servizio. Di conseguenza, il servizio potrebbe dover eseguire qualsiasi funzionalità di arresto aggiuntiva che normalmente verrebbe eseguita OnStopped dall'interno del Stop metodo . È possibile testare IsStarted per determinare se il motore di runtime del flusso di lavoro è in esecuzione.

Stop deve essere chiamato solo dal motore di runtime del flusso di lavoro.

Si applica a