Aufgabe 2: Konfigurieren von Laufzeitdiensten mithilfe von App.Config
In Aufgabe 1: Konfigurieren von Laufzeitdiensten mit Code haben Sie den DefaultWorkflowSchedulerService-Dienst zum Windows Workflow Foundation-Laufzeitmodul hinzugefügt, indem Sie die AddService-Methode aufgerufen haben, die in der WorkflowRuntime-Klasse definiert wurde. In dieser Übung verwenden Sie eine unterschiedliche Methode zum Konfigurieren von Laufzeitdiensten: Sie verwenden eine Anwendungskonfigurationsdatei.
Das Verwenden einer Konfigurationsdatei ist eine flexiblere Alternative, da es das Erstellen verschiedener unterschiedlicher Konfigurationen des Windows Workflow-Laufzeitmoduls ermöglicht, die von der Anwendung verwendet werden können. Sie können z. B. eine Konfiguration erstellen, von der keine Dienste verwendet werden, oder eine Laufzeitmodulkonfiguration, von der bei der Workflowausführung Persistenz und Überwachen verwendet wird. Außerdem können diese verschiedenen Konfigurationen in derselben Konfigurationsdatei definiert werden. Es kann je nach Bedarf auf die Hostanwendung zugegriffen werden.
Hinweis
Falls Sie Aufgabe 1: Konfigurieren von Laufzeitdiensten mit Code abgeschlossen haben, müssen alle am Projekt vorgenommenen Änderungen rückgängig gemacht werden, weil eine Konfigurationsdatei zum Konfigurieren von Laufzeitdiensten verwendet wird. Die mit dieser Aufgabe bereitgestellten Projektdateien enthalten den in der vorherigen Aufgabe hinzugefügten Code nicht und bieten daher einen gut geeigneten Ausgangspunkt.
Hinweis
Sie werden aufgefordert, die Übungen der Reihe nach auszuführen. Dies ist jedoch nicht erforderlich. Sie können durch Öffnen des Beispielprojekts mit dieser Übung beginnen und mit den Schritten im folgenden Abschnitt fortfahren.
So erstellen Sie die Anwendungskonfigurationsdatei:
Erstellen Sie in Ihrem Projektverzeichnis eine neue Datei mit der Bezeichnung App.config.
Fügen Sie in der HostingWorkflows-Projektdatei im ItemGroup-Element, das Ihre Quelldateien enthält, ein neues Element mit der Bezeichnung None hinzu.
Fügen Sie ein Attribut mit der Bezeichnung Include und dem Wert "App.config" hinzu.
So definieren Sie die Anwendungskonfigurationsdatei:
Erstellen Sie in der Datei App.config die standardmäßige XML-Verarbeitungsanweisung mit UTF-8-Codierung.
<?xml version="1.0" encoding="utf-8" ?>
Erstellen Sie ein Stammelement mit der Bezeichnung configuration.
<configuration> </configuration>
Erstellen Sie im configuration-Element ein neues Element mit der Bezeichnung configSections.
<configSections> </configSections>
Erstellen Sie im configSections-Element ein neues Element mit der Bezeichnung section.
Fügen Sie ein Attribut mit der Bezeichnung name und dem Wert "HostingWorkflowRuntime" hinzu.
Fügen Sie ein weiteres Attribut mit der Bezeichnung type und dem Wert "System.Workflow.Runtime.Configuration.WorkflowRuntimeSection, System.Workflow.Runtime, Version=3.0.00000.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" hinzu.
<section name="HostingWorkflowRuntime" type="System.Workflow.Runtime.Configuration.WorkflowRuntimeSection, System.Workflow.Runtime, Version=3.0.00000.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
Hinweis
Sie können so viele Konfigurationsabschnitte erstellen, wie Sie möchten. Für diese Übung müssen Sie jedoch nur einen erstellen.
Erstellen Sie im configuration-Knoten ein neues Element mit der Bezeichnung HostingWorkflowRuntime, das ein Attribut mit der Bezeichnung name und dem Wert "Hosting" enthält.
Hinweis
Der Name dieses Elements ist derselbe Name, den Sie im name-Attribut für den in Schritt 5 erstellten Abschnitt angegeben haben. Falls Sie mehrere Konfigurationsabschnitte erstellen, erstellen Sie neue Elemente, die den einzelnen Abschnittsnamen entsprechen.
<HostingWorkflowRuntime Name="Hosting"> </HostingWorkflowRuntime>
Erstellen Sie im HostingWorkflowRuntime-Element ein neues Element mit der Bezeichnung CommonParameters.
<CommonParameters/>
Erstellen Sie im HostingWorkflowRuntime-Element ein neues Element mit der Bezeichnung Services.
<Services> </Services>
Erstellen Sie im Services-Element ein neues Element mit der Bezeichnung add.
Fügen Sie ein Attribut mit der Bezeichnung type und dem Wert System.Workflow.Runtime.Hosting.DefaultWorkflowSchedulerService, System.Workflow.Runtime, Version=3.0.00000.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 hinzu.
Fügen Sie ein weiteres Attribut mit der Bezeichnung maxSimultaneousWorkflows und dem Wert 1 hinzu.
<add type="System.Workflow.Runtime.Hosting.DefaultWorkflowSchedulerService, System.Workflow.Runtime, Version=3.0.00000.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" maxSimultaneousWorkflows="1"/>
Die Datei App.config wird ähnlich der folgenden Konfiguration angezeigt.
<?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>
So verwenden Sie die Anwendungskonfigurationsdatei:
Fügen Sie in der Main-Methode der Program-Klasse einen Parameter zum WorkflowRuntime-Konstruktor hinzu, der zum Instanziieren des WorkflowRuntime-Objekts verwendet wird.
Dieser Parameter ist ein String-Typ, von dem der Name des zu verwendenden Konfigurationsabschnitts festgelegt wird.
Kompilieren des Codes
Informationen zum Kompilieren des Codes finden Sie unter Kompilieren des Codes.
In Aufgabe 3: Verwenden des Windows Workflow-Persistenzdiensts erhalten Sie Informationen zur Verwendung des SqlWorkflowPersistenceService-Diensts zum Speichern des aktuellen Status des Workflows.
Siehe auch
Aufgaben
Aufgabe 3: Verwenden des Windows Workflow-Persistenzdiensts
Referenz
DefaultWorkflowSchedulerService
System.Workflow.Runtime.Configuration
Konzepte
Gewusst wie: Hinzufügen und Entfernen von Workflowdiensten
Weitere Ressourcen
Workflow Configuration Formats
Copyright © 2007 by Microsoft Corporation. Alle Rechte vorbehalten.