WorkflowRuntimeService.Start Méthode

Définition

En cas de substitution dans une classe dérivée, démarre le service et fait passer la propriété State à 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 ()

Exceptions

Runtime est une référence Null (Nothing en Visual Basic)

- ou -

Le service a déjà été démarré.

Exemples

L'exemple suivant illustre l'appel de la méthode Start sur un objet a dérivé de WorkflowRuntimeService, TerminationTrackingService. Cet exemple provient de l'exemple du Kit de développement logiciel Termination Tracking Service (SDK). Pour plus d’informations, consultez Exemple de service de suivi des interruptions.

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

Remarques

Start est appelée par le moteur d'exécution de workflow sur tous ses services qui dérivent de la classe WorkflowRuntimeService lorsque la méthode StartRuntime est appelée.

Start est également appelée par le moteur d'exécution de workflow lorsqu'un service lui est ajouté par un appel à la méthode AddService après son démarrage. L'implémentation par défaut de Start effectue le suivi du démarrage du service et utilise cette information pour lever l'exception appropriée si le service est démarré pendant qu'il est déjà en cours d'exécution.

Vous pouvez fournir les fonctionnalités supplémentaires nécessaires pour que le démarrage de votre service soit déclenché par le moteur d'exécution de workflow en substituant cette méthode. Il n'y a aucune garantie sur les services qui, le cas échéant, s'exécutent lorsque le moteur d'exécution de workflow appelle Start sur votre service. Par conséquent, dans la méthode Start, vous devez exécuter uniquement les initialisations qui ne dépendent pas des fonctionnalités fournies par d'autres services. Cela inclut les fonctionnalités fournies par les services principaux tels que le service de planificateur. Le moteur d'exécution de workflow déclenche l'événement WorkflowRuntime.Started après l'appel de la méthode Start de tous ses services du moteur d'exécution de workflow. Si votre service requiert une initialisation supplémentaire après le démarrage de tous les services du moteur d'exécution de workflow, vous pouvez substituer la méthode OnStarted pour exécuter cette initialisation lorsque l'événement Start est déclenché.

Notes

Si votre service est ajouté au moteur d'exécution de workflow par un appel à la méthode AddService, après le démarrage du moteur d'exécution de workflow, ce dernier appelle la méthode Start sur votre service. Toutefois, dans cette situation, l'événement Started s'est déjà produit, par conséquent votre service devra peut-être effectuer toute initialisation qu'il exécuterait normalement dans OnStarted à partir de la méthode Start. Vous pouvez tester la propriété IsStarted pour déterminer si le moteur d'exécution de workflow a été démarré.

Start doit être appelée uniquement par le moteur d'exécution de workflow.

S’applique à