Compartir a través de


WorkflowRuntimeService.Stop Método

Definición

Cuando se invalida en una clase derivada, detiene el servicio y cambia State a 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 ()

Excepciones

Runtime es una referencia nula (Nothing en Visual Basic).

o bien

No se inició el servicio todavía.

Comentarios

El motor en tiempo de ejecución de flujo de trabajo invoca Stop en todos sus servicios que derivan de la clase WorkflowRuntimeService cuando se llama StopRuntime. El motor en tiempo de ejecución de flujo de trabajo invoca también Stop cuando un servicio de motor en tiempo de ejecución de flujo de trabajo es eliminado del motor en tiempo de ejecución de flujo de trabajo mediante una llamada a RemoveService. La implementación predeterminada de pistas Stop si el servicio se ha iniciado y utiliza esta información para iniciar la excepción adecuada si se detiene el servicio antes de ser iniciado.

Puede proporcionar la funcionalidad adicional necesaria para que el motor en tiempo de ejecución de flujo de trabajo detenga su servicio invalidando este método. No hay ninguna garantía sobre qué servicios, si los hay, se detendrán o se ejecutarán cuando se llama Stop en su servicio. El motor en tiempo de ejecución de flujo de trabajo genera el evento WorkflowRuntime.Stopped después de haber llamado al método Stop de todos sus servicios del motor en tiempo de ejecución de flujo de trabajo. Su servicio puede necesitar retener alguna funcionalidad residual para admitir otros servicios hasta que los métodos de detención de todos los servicios de motor en tiempo de ejecución de flujo de trabajo hayan sido invocados por el motor en tiempo de ejecución de flujo de trabajo. Si su servicio debe retener esta funcionalidad, puede invalidar el método OnStopped para realizar cualquier acción adicional exigida para terminar de detener su servicio cuando se genera el evento WorkflowRuntime.Stopped.

Nota:

Si WorkflowRuntimeService se elimina del motor en tiempo de ejecución de flujo de trabajo mediante una llamada a RemoveService mientras el motor en tiempo de ejecución de flujo de trabajo se está ejecutando, el motor en tiempo de ejecución de flujo de trabajo llamará Stop en su servicio. Sin embargo, no se llamará al método OnStopped para su servicio en esta situación. Por consiguiente, su servicio puede tener que realizar una funcionalidad de apagado adicional que realizaría ordinariamente en OnStopped desde dentro del método Stop. Puede probar IsStarted para determinar si el motor en tiempo de ejecución de flujo de trabajo se está ejecutando.

Stop debe ser llamado solamente por el motor en tiempo de ejecución de flujo de trabajo.

Se aplica a