WorkflowRuntimeService.Start Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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 ()
Excepciones
Ejemplos
El ejemplo siguiente muestra cómo llamar al método Start en un objeto derivado de WorkflowRuntimeService, TerminationTrackingService. Este ejemplo pertenece al ejemplo SDK del servicio de seguimiento de finalización. Para obtener más información, consulte Ejemplo de servicio de seguimiento de terminación.
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
Comentarios
El motor en tiempo de ejecución de flujo de trabajo invoca Start en todos sus servicios que derivan de la clase WorkflowRuntimeService cuando se llama StartRuntime.
El motor en tiempo de ejecución de flujo de trabajo invoca también Start cuando un servicio de motor en tiempo de ejecución de flujo de trabajo se agrega al motor en tiempo de ejecución de flujo de trabajo mediante una llamada a AddService después de que motor en tiempo de ejecución de flujo de trabajo ya se ha iniciado. La implementación predeterminada de pistas Start si el servicio se ha iniciado y ha utilizado esta información para producir la excepción adecuada si se inicia el servicio mientras ya está ejecutando.
Puede proporcionar la funcionalidad adicional necesaria para que se inicie su servicio iniciado por el motor en tiempo de ejecución de flujo de trabajo 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 Start en su servicio. Por consiguiente, en el método Start, debe realizar solo la inicialización que no dependa de la funcionalidad proporcionada por otros servicios. Esto incluye funcionalidad proporcionada por servicios centrales como el servicio programador. El motor en tiempo de ejecución de flujo de trabajo genera el evento WorkflowRuntime.Started después de haber llamado al método Start de todos sus servicios del motor en tiempo de ejecución de flujo de trabajo. Si su servicio requiere inicialización adicional después de que todos los servicios del motor en tiempo de ejecución de flujo de trabajo se hayan iniciado, puede invalidar el método OnStarted para realizar esta inicialización cuando se provoca el evento Start.
Nota:
Si se agrega su servicio al motor en tiempo de ejecución de flujo de trabajo AddService después de que el motor en tiempo de ejecución de flujo de trabajo ya haya iniciado, el motor en tiempo de ejecución de ejecución de flujo de trabajo llamará Start en su servicio Sin embargo, en esta situación, el evento Started ya se ha producido, por consiguiente, su servicio puede tener que realizar cualquier inicialización que realizaría ordinariamente en OnStarted de dentro del método Start. Puede probar IsStarted para determinar si se ha iniciado el motor en tiempo de ejecución de flujo de trabajo.
Start debe ser llamado solamente por el motor en tiempo de ejecución de flujo de trabajo.