Share via


Workflowkonfigurationsdateien

Eine Hostanwendung von Windows Workflow Foundation kann mithilfe einer Konfigurationsdatei das Verhalten eines WorkflowRuntime-Objekts überwachen.

Erstellen von Konfigurationsabschnitten

Soll das Workflow-Laufzeitmodul mithilfe einer Konfigurationsdatei konfiguriert werden, muss zuerst eine Konfigurationsdatei für die Anwendung (app.config) oder den Webdienst (web.config) erstellt werden. Erstellen Sie in dieser Konfigurationsdatei einen Konfigurationsabschnitt (siehe folgender XML-Code).

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

Definieren der Konfigurationsabschnitte

Die Konfigurationsdatei kann mehrere Konfigurationsabschnitte beinhalten, doch beim Instanziieren eines WorkflowRuntime-Objekts kann nur ein Abschnitt verwendet werden.

Fügen Sie nach der Deklaration des Konfigurationsabschnitts die Konfigurationsinformationen hinzu, die von der Laufzeit für diesen Abschnitt verwendet werden. Der Name des Abschnittstags entspricht dem im Namenattribut genannten Namen, das im vorherigen Beispiel angegeben ist. Für dieses Beispiel ist das Abschnittstag 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>

Der WorkflowRuntime-Konfigurationsabschnitt verfügt über ein einzelnes Attribut. Mit Name wird der Name von WorkflowRuntime angegeben. Der Name wird in der Ausgabe verwendet, um diese Laufzeit von anderen Laufzeiten zu unterscheiden, die unter Umständen im System ausgeführt werden, beispielsweise in Leistungsindikatoren.

Der Konfigurationsabschnitt enthält zwei geschachtelte Elemente. Mit dem CommonParameters-Element werden alle Parameter definiert, die global in mehreren Diensten verwendet werden, beispielsweise ConnectionString bei der Verwendung von SharedConnectionWorkflowCommitWorkBatchService. Mit dem zweiten Element werden die einzelnen Dienste aufgelistet, die für dieses Workflow-Laufzeitmodul konfiguriert sind. Benötigt ein Dienst zusätzliche Konfigurationsparameter, werden diese unter Umständen als Attribute hinzugefügt (siehe maxQueuedWorkItems-Attribut und UnloadOnIdle-Attribut im vorherigen Beispiel).

Verwenden der Konfigurationsdatei

Mit der Konfigurationsdatei wird das Verhalten eines WorkflowRuntime-Objekts überwacht. Dienste können programmgesteuert hinzugefügt werden, wenn eine Instanz eines WorkflowRuntime-Objekts erstellt wird, oder eine Konfigurationsdatei kann entsprechend der Beschreibung in diesem Thema verwendet werden. Soll ein in einer Konfigurationsdatei definierter Konfigurationsabschnitt verwendet werden, übergeben Sie den Namen des Konfigurationsabschnitts als Parameter an den WorkflowRuntime-Konstruktor.

Im folgenden Beispiel wird das Erstellen einer WorkflowRuntime-Instanz durch Verwendung des zuvor erstellten WorkflowRuntime-Konfigurationsabschnitts erläutert.

WorkflowRuntime runtime = new WorkflowRuntime("WorkflowRuntime");
Dim runtime As New WorkflowRuntime("WorkflowRuntime")

Zusätzliche Konfigurationsoptionen

In den folgenden Abschnitten wird erläutert, wie mithilfe von Konfigurationsdateien bestimmte Funktionen im Workflow, wie das erneute Bereitstellen eines Arbeitsbatches oder das Protokollieren von Workflowdaten, aktiviert werden.

Aktivieren von Wiederholungen für Arbeitsbatches

Dienste, die Arbeitsbatches an permanente Speicher übergeben, wie zum Beispiel DefaultWorkflowCommitWorkBatchService und SqlWorkflowPersistenceService, können durch Festlegen der EnableRetries-Eigenschaft für das Wiederholen der Transaktion konfiguriert werden (siehe folgendes Beispiel).

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

Die EnableRetries-Eigenschaft kann entweder global (siehe Abschnitt CommonParameters) oder für einzelne Dienste, die EnableRetries unterstützen (siehe Abschnitt Dienste) festgelegt werden. In diesem Beispiel aktivieren alle Dienste, die EnableRetries unterstützen, diese Funktion, außer SqlWorkflowPersistenceService.

Die folgenden Dienste unterstützen EnableRetries:

  • DefaultWorkflowCommitWorkBatchService

  • SharedConnectionWorkflowCommitWorkBatchService

  • SqlWorkflowPersistenceService

  • SqlTrackingService

Weitere Informationen finden Sie in der EnableRetries-Eigenschaft für jede der zuvor aufgelisteten Klassen.

Allgemeine Informationen zum Wiederholen von Arbeitsbatchtransaktionen finden Sie unter Batching State Information in Workflows.

Aktivieren von Workflowprotokollierung

Mithilfe der Konfigurationsdatei können Sie Windows Workflow Foundation-Protokollierungsinformationen ausgeben, um Debugszenarien zu unterstützen. Windows Workflow Foundation verwendet das in .NET Framework 2.0 eingeführte Konfigurationsformat. Nachfolgend wird das Aktivieren von Informationsprotokollierung für mehrere Windows Workflow Foundation-Namespaces in einem Beispiel gezeigt.

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

In diesem Beispiel ermöglicht der erste Hinzufügeknoten das Protokollieren in eine Datei. Die Datei wird im Hostanwendungsverzeichnis mit dem Namen WorkflowTrace.log erstellt. Die andere Option besteht darin, die Protokollierung in TraceListener durch Festlegen des Namenparameters gleich "System.Workflow LogToTraceListener" zu aktivieren. Beim Festlegen des Parameters listet Windows Workflow Foundation alle in der Hostanwendung erstellten TraceListener auf und sendet an diese alle Protokollierungsinformationen.

Die verbleibenden Zeilen im vorherigen Beispiel ermöglichen die Angabe der Namespaces, für die Protokollierungsinformationen erfasst werden sollen, sowie der Menge der nachverfolgten Informationen. Folgende Werte für das Wertattribut sind möglich:

Wert Beschreibung

Alle

Protokolliert alle empfangenen Meldungen

Deaktiviert

Protokolliert keine Meldungen.

Wichtig

Protokolliert nur Meldungen, die als wichtig eingestuft werden.

Fehler

Protokolliert wichtige Meldungen und Fehlermeldungen

Warnung

Protokolliert wichtige Meldungen sowie Fehler- und Warnmeldungen.

Informationen

Protokolliert wichtige Meldungen sowie Fehler-, Warn- und Informationsmeldungen.

Ausführlich

Protokolliert wichtige und ausführliche Meldungen sowie Fehler-, Warn-, Informationsmeldungen.

Siehe auch

Referenz

WorkflowRuntime

Weitere Ressourcen

How to: Add and Remove Workflow Services
Allgemeine Referenz zu Windows Workflow Foundation

Footer image

Copyright © 2007 by Microsoft Corporation. Alle Rechte vorbehalten.