Fichiers de configuration du workflow
Une application hôte de Windows Workflow Foundation peut utiliser un fichier de configuration pour contrôler le comportement d'un objet WorkflowRuntime.
Création de sections de configuration
Pour utiliser un fichier de configuration pour configurer le moteur d'exécution de workflow, vous devez d'abord créer un fichier .config pour votre application (app.config) ou service Web (web.config). Dans ce fichier de configuration, créez une section de configuration tel qu'indiqué dans le code XML suivant.
<configuration>
<configSections>
<section name="WorkflowRuntime" type="System.Workflow.Runtime.Configuration.WorkflowRuntimeSection, System.Workflow.Runtime, Version=3.0.00000.0, Culture=neutral, PublicKeyToken 31bf3856ad364e35" />
</configSections>
</configuration>
Définition des sections de configuration
Votre fichier de configuration peut contenir plusieurs sections de configuration, mais une seule section peut être utilisée lorsque vous instanciez un objet WorkflowRuntime.
Après avoir déclaré la section de configuration, ajoutez les informations de configuration que le runtime utilisera pour cette section. Notez que le nom de la balise de la section correspond au nom donné dans l'attribut de nom spécifié dans l'exemple précédent. Pour cet exemple, la balise de la section est WorkflowRuntime.
<WorkflowRuntime Name="SampleApplication">
<CommonParameters>
<add name="ConnectionString" value="Initial Catalog=WorkflowStore;Data Source=localhost;Integrated Security=SSPI;" />
</CommonParameters>
<Services>
<add type="System.Workflow.Runtime.Hosting.DefaultWorkflowSchedulerService, System.Workflow.Runtime, Version=3.0.00000.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" maxQueuedWorkItems="20"/>
<add type="System.Workflow.Runtime.Hosting.SharedConnectionWorkflowTransactionService, System.Workflow.Runtime, Version=3.0.00000.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
<add type="System.Workflow.Runtime.Hosting.SqlWorkflowPersistenceService, System.Workflow.Runtime, Version=3.0.00000.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" UnloadOnIdle="false"/>
</Services>
</WorkflowRuntime>
La section de configuration WorkflowRuntime dispose d'un seul attribut. Name est utilisé pour spécifier le nom de WorkflowRuntime. Ce nom est utilisé dans la sortie pour distinguer ce runtime d'autres runtime qui peuvent s'exécuter sur le système, par exemple, dans les compteurs de performance.
La section de configuration contient deux éléments imbriqués. L'élément CommonParameters définit tous les paramètres utilisés globalement dans plusieurs services, par exemple ConnectionString lors de l'utilisation de SharedConnectionWorkflowCommitWorkBatchService. Le deuxième élément liste les services individuels configurés pour ce moteur d'exécution de workflow. Si un service comprend des paramètres de configuration supplémentaires, ceux-ci peuvent être inclus comme attributs, tel qu'indiqué avec les attributs maxQueuedWorkItems et UnloadOnIdle dans l'exemple précédent.
Utilisation du fichier de configuration
Le fichier de configuration contrôle le comportement d'un objet WorkflowRuntime. Vous pouvez ajouter des services par programme lorsque vous créez une instance d'un objet WorkflowRuntime ou vous pouvez utiliser un fichier de configuration tel qu'indiqué dans cette rubrique. Pour utiliser une section de configuration définie dans un fichier de configuration, passez le nom de la section de configuration en tant que paramètre au constructeur WorkflowRuntime.
L'exemple suivant montre comment créer une instance WorkflowRuntime en utilisant la section de configuration WorkflowRuntime créée précédemment.
WorkflowRuntime runtime = new WorkflowRuntime("WorkflowRuntime");
Dim runtime As New WorkflowRuntime("WorkflowRuntime")
Options de configuration supplémentaires
Les sections suivantes décrivent comment vous pouvez utiliser des fichiers de configuration pour activer certaines fonctionnalités dans votre workflow, tel que valider à nouveau un lot de travail ou enregistrer des données de workflow.
Activation des nouvelles tentatives pour les lots de travail
Pour les services qui valident des lots de travail dans des magasins de persistance, tels que DefaultWorkflowCommitWorkBatchService et SqlWorkflowPersistenceService, vous pouvez les activer pour effectuer des nouvelles tentatives de transaction en définissant la propriété EnableRetries tel qu'indiqué dans l'exemple suivant:
<WorkflowRuntime Name="SampleApplication" UnloadOnIdle="false">
<CommonParameters>
<add name="ConnectionString" value="Initial Catalog=WorkflowStore;Data Source=localhost;Integrated Security=SSPI;" />
<add name="EnableRetries" value="True" />
</CommonParameters>
<Services>
<add type="System.Workflow.Runtime.Hosting.SqlWorkflowPersistenceService, System.Workflow.Runtime, Version=3.0.00000.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" EnableRetries="False" />
</Services>
</WorkflowRuntime>
Notez que la propriété EnableRetries peut être définie à un niveau global (tel qu'indiqué dans la section CommonParameters) ou pour les services individuels qui prennent en charge EnableRetries (tel qu'indiqué dans la section Services). Dans cet exemple, tous les services qui prennent en charge EnableRetries activeront cette fonctionnalité, sauf SqlWorkflowPersistenceService.
Les services suivants prennent en charge EnableRetries :
DefaultWorkflowCommitWorkBatchService
SharedConnectionWorkflowCommitWorkBatchService
SqlWorkflowPersistenceService
Pour plus d'informations, voir la propriété EnableRetries pour chacune des classes répertoriées précédemment.
Pour des informations générales sur les nouvelles tentatives de transaction de lot du travail, voir Batching State Information in Workflows.
Activation de l'enregistrement de workflow
À l'aide du fichier de configuration, vous pouvez générer des informations d'enregistrement de Windows Workflow Foundation pour fournir de l'aide dans les scénarios de débogage. Windows Workflow Foundation utilise le format de configuration présenté dans le .NET Framework 2.0. Un exemple d'activation des informations d'enregistrement de plusieurs espaces de noms de Windows Workflow Foundation est présenté ci-après.
<system.diagnostics>
<switches>
<add name="System.Workflow LogToFile" value="1" />
<add name="System.Workflow.Runtime" value="All" />
<add name="System.Workflow.Runtime.Hosting" value="All" />
<add name="System.Workflow.Runtime.Tracking" value="All" />
<add name="System.Workflow.Activities" value="All" />
<add name="System.Workflow.Activities.Rules" value="All" />
</switches>
</system.diagnostics>
Dans cet exemple, le premier nœud ajouté active l'enregistrement dans un fichier. Le fichier est créé dans le répertoire de votre application hôte à l'aide du nom WorkflowTrace.log. L'autre option est d'activer l'enregistrement dans un TraceListener en affectant la valeur « System.Workflow LogToTraceListener » au paramètre name. Lorsque vous définissez ceci, Windows Workflow Foundation énumère chaque TraceListener créé dans votre application hôte et leur envoie toutes les informations d'enregistrement.
Les lignes restantes dans l'exemple montré précédemment vous permettent de spécifier les espaces de noms pour capturer des informations d'enregistrement ainsi que la quantité d'informations tracée. Les valeurs possibles pour l'attribut de valeur incluent :
Valeur | Description |
---|---|
Tous |
Enregistre tous les messages reçus |
Inactif |
N'enregistre aucun message |
Critique |
Enregistre uniquement les messages considérés comme essentiels |
Erreur |
Enregistre les messages d'erreur et les messages critiques |
Avertissement |
Enregistre les messages d'erreur, les messages critiques et les messages d'avertissement |
Information |
Enregistre les messages d'information, d'avertissement, critiques et d'erreur |
Commentaires |
Enregistre les messages d'information, d'avertissement, d'erreur, critiques et de commentaires |
Voir aussi
Référence
Autres ressources
How to: Add and Remove Workflow Services
Référence générale sur Windows Workflow Foundation
Copyright ©2007 par Microsoft Corporation. Tous droits réservés.