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
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
Weitere Ressourcen
How to: Add and Remove Workflow Services
Allgemeine Referenz zu Windows Workflow Foundation
Copyright © 2007 by Microsoft Corporation. Alle Rechte vorbehalten.