Partager via


Obtenir WorkflowInstanceId

Cette rubrique s'applique à Windows Workflow Foundation 4.

Cet exemple montre comment utiliser l'activité personnalisée GetWorkflowInstanceId pour retourner l'ID d'instance de workflow.

Montre

Développement de l'activité personnalisée, comment accéder à l'instance de workflow.

Discussion

L'obtention de l'ID d'instance d'un workflow en cours d'exécution requiert l'écriture de code. Si vous souhaitez écrire un workflow complètement déclaratif, vous avez besoin d'une activité qui puisse retourner l'ID d'instance de workflow afin que l'activité puisse être référencée dans le workflow pour fournir une expérience de création de workflow complètement déclaratif. De nombreux scénarios requièrent l'accès à l'ID d'instance, par exemple à des fins d'enregistrement ou d'audit, ou pour exécuter une corrélation au niveau de l'application en retournant l'ID d'instance à un client pour une future association (par exemple, en utilisant cette activité à l'intérieur d'une activité SendReply).

GetWorkflowInstanceId est implémenté comme un CodeActivity parce qu'il doit retourner une valeur de type Guid, et il doit avoir accès au CodeActivityContext pour l'obtention de l'ID d'instance du workflow. Son implémentation est assez basique.

public sealed class GetWorkflowInstanceId : CodeActivity<Guid>
{
protected override Guid Execute(CodeActivityContext context)
        {
            return context.WorkflowInstanceId;
        }
}
Ee943758.Important(fr-fr,VS.100).gif Remarque :
Les exemples peuvent déjà être installés sur votre ordinateur. Recherchez le répertoire (par défaut) suivant avant de continuer.

<LecteurInstall>:\WF_WCF_Samples

Si ce répertoire n'existe pas, rendez-vous sur la page (éventuellement en anglais) des exemples Windows Communication Foundation (WCF) et Windows Workflow Foundation (WF) pour .NET Framework 4 pour télécharger tous les exemples Windows Communication Foundation (WCF) et WF. Cet exemple se trouve dans le répertoire suivant.

<LecteurInstall>:\WF_WCF_Samples\WF\Scenario\ActivityLibrary\GetWorkflowInstanceId