Partager via


Tâche 2 : configurer des services d'exécution à l'aide d'App.Config

Dans Tâche 1 : configurer des services d'exécution à l'aide du code, vous avez ajouté le service DefaultWorkflowSchedulerService au moteur d'exécution Windows Workflow Foundation en appelant la méthode AddService définie dans la classe WorkflowRuntime. Dans cet exercice, vous utilisez une méthode différente pour configurer des services de runtime : vous utilisez un fichier de configuration de l'application.

L'utilisation d'un fichier de configuration est une alternative plus flexible parce qu'elle vous permet de créer plusieurs configurations différentes pour le moteur d'exécution Windows Workflow que votre application peut utiliser. Par exemple, vous pouvez créer une configuration qui n'utilise pas de services ou vous pouvez créer une configuration du moteur d'exécution qui utilise la persistance et le suivi pendant l'exécution du workflow. En outre, ces différentes configurations peuvent être définies dans le même fichier de configuration et sont accessibles à votre application hôte comme requis.

NoteRemarque :

Si vous avez terminé Tâche 1 : configurer des services d'exécution à l'aide du code, vous devez annuler toutes les modifications que vous avez apportées au projet, car vous utilisez un fichier de configuration permettant de configurer les services du runtime. Les fichiers projets fournis avec cette tâche ne contiennent pas le code ajouté dans la tâche précédente et par conséquent fournissent un bon point de départ.

NoteRemarque :

Bien qu'il soit conseillé de suivre les exercices de façon linéaire, ce n'est pas obligatoire. Vous pouvez démarrer cet exercice en ouvrant l'exemple de projet et en continuant avec les étapes de la section suivante.

Pour créer le fichier de configuration de l'application

  1. Créez un nouveau fichier nommé App.config dans votre répertoire de projet.

  2. Dans le fichier projet HostingWorkflows, dans l'élément ItemGroup qui contient vos fichiers source, ajoutez un nouvel élément nommé None.

  3. Ajoutez un attribut nommé Include avec la valeur "App.config".

Pour définir le fichier de configuration de l'application

  1. Dans le fichier App.config, créez l'instruction de traitement XML standard avec le codage UTF-8.

    <?xml version="1.0" encoding="utf-8" ?>
    
  2. Créez un élément racine nommé configuration.

    <configuration>
    </configuration>
    
  3. Dans l'élément de configuration, créez un nouvel élément nommé configSections.

    <configSections>
    </configSections>
    
  4. Dans l'élément de configSections, créez un nouvel élément nommé section.

  5. Ajoutez un attribut nommé name avec la valeur "HostingWorkflowRuntime".

  6. Ajoutez un autre attribut nommé type avec la valeur "System.Workflow.Runtime.Configuration.WorkflowRuntimeSection, System.Workflow.Runtime, Version=3.0.00000.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35".

    <section name="HostingWorkflowRuntime" type="System.Workflow.Runtime.Configuration.WorkflowRuntimeSection, System.Workflow.Runtime, Version=3.0.00000.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
    
    NoteRemarque :

    Vous pouvez créer autant de sections de configuration que vous souhaitez. Pour cet exercice, toutefois, vous devez seulement en créer une.

  7. Créez un élément dans le nœud configuration nommé HostingWorkflowRuntime qui contient un attribut nommé name avec la valeur "Hosting".

    NoteRemarque :

    Ce nom d'élément est le même que celui que vous avez spécifié dans l'attribut name pour la section que vous avez créée à l'étape 5. Si vous créez plusieurs sections de configuration, créez de nouveaux éléments qui correspondent à chaque nom de section.

    <HostingWorkflowRuntime Name="Hosting">
    </HostingWorkflowRuntime>
    
  8. Dans l'élément de HostingWorkflowRuntime, créez un nouvel élément nommé CommonParameters.

    <CommonParameters/>
    
  9. Dans l'élément de HostingWorkflowRuntime, créez un nouvel élément nommé Services.

    <Services>
    </Services>
    
  10. Dans l'élément de Services, créez un nouvel élément nommé add.

  11. Ajoutez un attribut nommé type avec la valeur System.Workflow.Runtime.Hosting.DefaultWorkflowSchedulerService, System.Workflow.Runtime, Version=3.0.00000.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35.

  12. Ajoutez un autre attribut nommé maxSimultaneousWorkflows avec la valeur 1.

    <add type="System.Workflow.Runtime.Hosting.DefaultWorkflowSchedulerService, System.Workflow.Runtime, Version=3.0.00000.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"  maxSimultaneousWorkflows="1"/>
    
  13. Votre fichier App.config s'affiche comme dans la configuration suivante.

    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
        <configSections>
            <section name="HostingWorkflowRuntime" type="System.Workflow.Runtime.Configuration.WorkflowRuntimeSection, System.Workflow.Runtime, Version=3.0.00000.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
        </configSections>
        <HostingWorkflowRuntime Name="Hosting">
            <CommonParameters/>
            <Services>
                <add type="System.Workflow.Runtime.Hosting.DefaultWorkflowSchedulerService, System.Workflow.Runtime, Version=3.0.00000.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"  maxSimultaneousWorkflows="1"/>
            </Services>
        </HostingWorkflowRuntime>
    </configuration>
    

Pour utiliser le fichier de configuration de l'application

  • Dans la méthode Main de la classe Program, ajoutez un paramètre au constructeur WorkflowRuntime utilisé pour instancier l'objet WorkflowRuntime.

    Ce paramètre est du type String qui spécifie le nom de la section de configuration à utiliser.

Compilation du code

Pour plus d'informations sur la compilation du code, consultez Compilation du code.

Dans Tâche 3 : utiliser le service de persistance de Windows Workflow, vous apprenez comment utiliser le service SqlWorkflowPersistenceService pour stocker l'état actuel de votre workflow.

Voir aussi

Tâches

Tâche 3 : utiliser le service de persistance de Windows Workflow

Référence

DefaultWorkflowSchedulerService
System.Workflow.Runtime.Configuration

Concepts

Comment : ajouter et supprimer des services de workflow

Autres ressources

Workflow Configuration Formats

Footer image

Copyright ©2007 par Microsoft Corporation. Tous droits réservés.