Freigeben über


Workflowdienstaktivierung

Dieses Thema gilt für Windows Workflow Foundation 4.

Ein Workflowdienst muss gehostet werden, damit er auf eingehende Meldungen reagieren kann. Workflowdienste verwenden die WCF-Messaginginfrastruktur und werden daher auf ähnliche Weise gehostet. Wie WCF-Dienste auch, können Workflowdienste in allen verwalteten Anwendungen, unter Internetinformationsdienste (IIS) oder unter Windows Process Activation Services (WAS) gehostet werden. Weitere Informationen über Informationen zu den verschiedenen Möglichkeiten zum Hosten von WCF-Diensten finden Sie unter Hosting Services.

Hosten in einer verwalteten Anwendung

Verwenden Sie die WorkflowServiceHost-Klasse, um einen Workflowdienst in einer verwalteten Anwendung zu hosten. Mit dem WorkflowServiceHost-Konstruktor können Sie eine Singleton-Workflowdienstinstanz, eine Workflowdienstdefinition oder eine Aktivität angeben, die die Workflowmessagingaktivitäten verwendet. Das Aufrufen von Open bewirkt, dass der Dienst mit dem Überwachen von eingehenden Nachrichten beginnt.

Hosten unter IIS oder WAS

Das Hosten eines Workflowdiensts unter IIS oder WAS umfasst das Erstellen eines virtuellen Verzeichnisses und das Einfügen von Dateien in das virtuelle Verzeichnis, die den Dienst und sein Verhalten definieren. Beim Hosten eines Workflowdiensts unter IIS oder WAS gibt es mehrere Möglichkeiten:

  • Fügen Sie eine XAMLX-Datei, die den Workflowdienst definiert, zusammen mit einer Web.config-Datei, die das Dienstverhalten, Endpunkte und andere Konfigurationselemente angibt, in ein virtuelles IIS/WAS-Verzeichnis ein.

  • Fügen Sie eine XAMLX-Datei, die den Workflowdienst definiert, in ein virtuelles IIS/WAS-Verzeichnis ein. Die XAMLX-Datei gibt die Endpunkte an, die verfügbar gemacht werden. Endpunkte werden in einem WorkflowService.Endpoints-Element angegeben, wie im folgenden Beispiel gezeigt.

    <WorkflowService xmlns="https://schemas.microsoft.com/netfx/2009/xaml/servicemodel"  xmlns:p1="https://schemas.microsoft.com/netfx/2009/xaml/activities" xmlns:sad="clr-namespace:System.Activities.Debugger;assembly=System.Activities" xmlns:x="https://schemas.microsoft.com/winfx/2006/xaml">
      <WorkflowService.Endpoints>
        <Endpoint ServiceContractName="IWorkFlowEchoService" AddressUri="">
          <Endpoint.Binding>
            <BasicHttpBinding />
          </Endpoint.Binding>
        </Endpoint>
      </WorkflowService.Endpoints>
    <!-- ... -->
    </WorkflowService>
    
    Ee358730.note(de-de,VS.100).gifHinweis:
    Verhalten können nicht in einer XAMLX-Datei angegeben werden. Aus diesem Grund benötigen Sie eine Web.config-Datei, falls Sie Verhaltenseinstellungen angeben müssen.

  • Fügen Sie eine XAMLX-Datei, die den Workflowdienst definiert, in ein virtuelles IIS/WAS-Verzeichnis ein. Fügen Sie zusätzlich eine SVC-Datei in das virtuelle Verzeichnis ein. Mithilfe der SVC-Datei können Sie eine benutzerdefinierte Webdienst-Hostfactory angeben, benutzerdefiniertes Verhalten anwenden oder eine Konfiguration von einem benutzerdefinierten Speicherort laden.

  • Fügen Sie eine Assembly in das virtuelle IIS/WAS-Verzeichnis ein, in dem eine Aktivität enthalten ist, die die WCF-Messagingaktivitäten verwendet.

Eine XAMLX-Datei, die einen Workflowdienst definiert, muss ein <Service>-Stammelement bzw. ein Stammelement enthalten, das alle von Activity abgeleiteten Typen enthält. Beim Verwenden der Visual Studio 2010-Aktivitätsvorlage wird eine XAMLX-Datei erstellt. Beim Verwenden der Vorlage "WCF-Workflowdienst" wird eine XAMLX-Datei erstellt.

Verweisen auf benutzerdefinierte Aktivitäten

Verweise auf benutzerdefinierte Aktivitäten müssen dem Abschnitt <Assemblies> unter <System.Web.Compilation> hinzugefügt werden, damit diese in die Anwendungsdomäne geladen werden und der XAML-Deserialisierer die Typen finden kann. Diese Einstellungen können auf Anwendungsebene oder in der Web.config-Stammdatei vorgenommen werden, falls die Einstellungen für alle Anwendungen auf dem Computer übernommen werden sollen.

Bereitstellung

Das Webbereitstellungstool wurde erstellt, um die Bereitstellung zu vereinfachen. Mit dem Tool können Sie Anwendungen zwischen IIS 6.0 und IIS 7.0 migrieren, Serverfarmen synchronisieren und Webanwendungen verpacken, archivieren und bereitstellen. Weitere Informationen finden Sie unter MS-Bereitstellungstool

Siehe auch

Weitere Ressourcen

Declarative Activation of Services