Condividi tramite


Attività 2: configurare i servizi di runtime con App.Config

Nell'Attività 1: configurare i servizi di runtime mediante il codice si è aggiunto il servizio DefaultWorkflowSchedulerService al motore di runtime di Windows Workflow Foundation chiamando il metodo AddService definito nella classe WorkflowRuntime. In questo esercizio si fa ricorso a un metodo diverso per configurare i servizi di runtime: si utilizza un file di configurazione dell'applicazione.

L'utilizzo di un file di configurazione costituisce un'alternativa più flessibile dal momento che consente di creare molte configurazioni diverse del motore di runtime di Windows Workflow Foundation utilizzato nell'applicazione. È ad esempio possibile creare una configurazione che non utilizza servizi o una configurazione del motore di runtime che utilizza persistenza e rilevamento durante l'esecuzione del flusso di lavoro. Queste configurazioni diverse, inoltre, possono essere definite nello stesso file di configurazione ed essere utilizzate dall'applicazione host in base alle esigenze.

Nota

Se è stata completata l'Attività 1: configurare i servizi di runtime mediante il codice, è necessario annullare tutte le modifiche apportate al progetto poiché si utilizza un file di configurazione per configurare i servizi di runtime. Poiché i file di progetto forniti in questa attività non contengono il codice aggiunto nell'attività precedente, costituiscono un buon punto di partenza.

Nota

Sebbene sia consigliabile seguire gli esercizi in modo lineare, non è strettamente necessario. È possibile avviare l'esercizio aprendo il progetto di esempio e procedendo secondo i passaggi illustrati nella sezione seguente.

Per creare il file di configurazione dell'applicazione

  1. Nella directory del progetto creare un nuovo file denominato App.config.

  2. Nel file di progetto HostingWorkflows, nell'elemento ItemGroup contenente i file di origine, aggiungere un nuovo elemento denominato None.

  3. Aggiungere un attributo denominato Include con il valore "App.config".

Per definire il file di configurazione dell'applicazione

  1. Nel file App.config creare l'istruzione di elaborazione XML standard con codifica UTF-8.

    <?xml version="1.0" encoding="utf-8" ?>
    
  2. Creare un elemento radice denominato configuration.

    <configuration>
    </configuration>
    
  3. Nell'elemento configuration creare un nuovo elemento denominato configSections.

    <configSections>
    </configSections>
    
  4. Nell'elemento configSections creare un nuovo elemento denominato section.

  5. Aggiungere un attributo denominato name con il valore "HostingWorkflowRuntime".

  6. Aggiungere un altro attributo denominato type con il valore "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" />
    

    Nota

    È possibile creare il numero desiderato di sezioni di configurazione. In questo esercizio, tuttavia, è necessario crearne solo una.

  7. Creare un nuovo elemento nel nodo configuration denominato HostingWorkflowRuntime che contiene un attributo denominato name con il valore "Hosting".

    Nota

    Il nome di questo elemento è lo stesso specificato nell'attributo name relativo alla sezione creata nel passaggio 5. Se si creano più sezioni di configurazione, creare elementi nuovi che corrispondano a ogni nome di sezione.

    <HostingWorkflowRuntime Name="Hosting">
    </HostingWorkflowRuntime>
    
  8. Nell'elemento HostingWorkflowRuntime creare un nuovo elemento denominato CommonParameters.

    <CommonParameters/>
    
  9. Nell'elemento HostingWorkflowRuntime creare un nuovo elemento denominato Services.

    <Services>
    </Services>
    
  10. Nell'elemento Services creare un nuovo elemento denominato add.

  11. Aggiungere un attributo denominato type con il valore System.Workflow.Runtime.Hosting.DefaultWorkflowSchedulerService, System.Workflow.Runtime, Version=3.0.00000.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35.

  12. Aggiungere un altro attributo denominato maxSimultaneousWorkflows con il valore 1.

    <add type="System.Workflow.Runtime.Hosting.DefaultWorkflowSchedulerService, System.Workflow.Runtime, Version=3.0.00000.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"  maxSimultaneousWorkflows="1"/>
    
  13. Il file App.config ottenuto risulterà simile alla configurazione seguente.

    <?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>
    

Per utilizzare il file di configurazione dell'applicazione

  • Nel metodo Main della classe Program, aggiungere un parametro al costruttore WorkflowRuntime utilizzato per creare un'istanza dell'oggetto WorkflowRuntime.

    Questo parametro è un tipo String che specifica il nome della sezione di configurazione da utilizzare.

Compilazione del codice

Per informazioni sulla compilazione del codice, vedere Compilazione del codice.

Nell'Attività 3: utilizzo del servizio di persistenza del flusso di lavoro di Windows viene illustrato come utilizzare il servizio SqlWorkflowPersistenceService per archiviare lo stato corrente del flusso di lavoro.

Vedere anche

Attività

Attività 3: utilizzo del servizio di persistenza del flusso di lavoro di Windows

Riferimenti

DefaultWorkflowSchedulerService
System.Workflow.Runtime.Configuration

Concetti

Procedura: aggiungere e rimuovere servizi del flusso di lavoro

Altre risorse

Workflow Configuration Formats

Footer image

Copyright © 2007 Microsoft Corporation. Tutti i diritti riservati.