Freigeben über


OperationScope

Dieses Thema gilt für Windows Workflow Foundation 4.

Dieses Beispiel veranschaulicht, wie die Messagingaktivitäten Receive und SendReply verwendet werden können, um in einem Workflowdienst eine vorhandene benutzerdefinierte Aktivität als Vorgang verfügbar zu machen. Dieses Beispiel umfasst eine neue benutzerdefinierte Aktivität, die als OperationScope bezeichnet wird. Sie ist dazu vorgesehen, die Entwicklung eines Workflowdiensts zu vereinfachen, indem Benutzer den Textkörper der Vorgänge als benutzerdefinierte Aktivitäten getrennt erstellen können und sie dann einfach als Dienstvorgänge mit der OperationScope-Aktivität verfügbar machen können. Eine benutzerdefinierte Add-Aktivität, die zwei in-Argumente annimmt und ein out-Argument zurückgibt, könnte z. B. als Add-Vorgang mit dem Workflowdienst verfügbar gemacht werden, indem es in einer OperationScope-Aktivität abgelegt wird.

Der Bereich funktioniert, indem er die als Textkörper bereitgestellte Aktivität überprüft. Alle ungebundenen in-Argumente werden als Eingaben von der eingehenden Nachricht betrachtet. Alle out-Argumente, unabhängig davon, ob sie gebunden sind, werden als Ausgaben in der nachfolgenden Antwortnachricht betrachtet. Der Name des verfügbar gemachten Vorgangs wird dem Anzeigenamen der OperationScope-Aktivität entnommen. Das Endergebnis ist, dass die Textaktivität mit den Parametern aus den Nachrichten, die an die Argumente der Aktivität gebunden sind, von Receive und SendReply umschlossen wird.

Dieses Beispiel macht einen Workflowdienst mithilfe von HTTP-Endpunkten verfügbar. Für die Ausführung müssen richtige URL-ACLs hinzugefügt werden. Weitere Informationen finden Sie unter Konfigurieren von HTTP und HTTPS. Die Ausführung des folgenden Befehls an einer Eingabeaufforderung mit erhöhten Rechten fügt die entsprechenden ACLs hinzu (stellen Sie sicher, dass die Domäne und der Benutzername für% DOMAIN%\%UserName% ersetzt werden).

netsh http add urlacl url=http://+:8000/ user=%DOMAIN%\%UserName%

So führen Sie das Beispiel aus

  1. Öffnen Sie die Projektmappe "OperationScope.sln" in Visual Studio 2010.

  2. Legen Sie mehrere Startprojekte fest, indem Sie mit der rechten Maustaste auf die Projektmappe im Projektmappen-Explorer klicken und Startprojekte festlegen auswählen. Fügen Sie Scenario und Scenario_Client (in dieser Reihenfolge) als mehrere Startprojekte hinzu.

  3. Drücken Sie F6, um die Projektmappe zu erstellen.

    Ee662961.Warning(de-de,VS.100).gif Vorsicht:
    Dieser Schritt ist aufgrund der benutzerdefinierten OperationScope-Aktivität zum Anzeigen des Workflows "BankService.xaml" erforderlich.

  4. Drücken Sie STRG+F5, um die Anwendung auszuführen. Die Konsole Scenario_Client fordert Sie zu Eingaben auf, und die entsprechende Ausgabe wird in der Konsole Scenario dargestellt.

Ee662961.Important(de-de,VS.100).gif Hinweis:
Die Beispiele sind möglicherweise bereits auf dem Computer installiert. Überprüfen Sie das folgende (standardmäßige) Verzeichnis, bevor Sie fortfahren.

<Installationslaufwerk>:\WF_WCF_Samples

Wenn dieses Verzeichnis nicht vorhanden ist, rufen Sie Windows Communication Foundation (WCF) and Windows Workflow Foundation (WF) Samples for .NET Framework 4 auf, um alle Windows Communication Foundation (WCF)- und WF-Beispiele herunterzuladen. Dieses Beispiel befindet sich im folgenden Verzeichnis.

<Installationslaufwerk>:\WF_WCF_Samples\WF\Scenario\Services\OperationScope