Vorgehensweise: Zugreifen auf einen Dienst aus einer WorkflowanwendungHow To: Access a Service From a Workflow Application

In diesem Thema wird beschrieben, wie Sie einen Workflowdienst in einer Workflowkonsolenanwendung aufrufen.This topic describes how to call a workflow service from a workflow console application. Es hängt vom Abschluss der Vorgehensweise: Erstellen eines Workflowdiensts mit Messagingaktivitäten Thema.It depends on completion of the How to: Create a Workflow Service with Messaging Activities topic. Obwohl in diesem Thema wird beschrieben, wie Sie einen Workflowdienst aus einer workflowanwendung aufrufen, können die gleichen Methoden verwendet werden, einen Windows Communication Foundation (WCF)-Dienst aus einer workflowanwendung aufrufen.Although this topic describes how to call a workflow service from a workflow application, the same methods can be used to call any Windows Communication Foundation (WCF) service from a workflow application.

Erstellen eines Workflowkonsolen-AnwendungsprojektsCreate a Workflow Console Application Project

  1. Starten Sie Visual Studio 2012Visual Studio 2012.Start Visual Studio 2012Visual Studio 2012.

  2. Laden Sie das MyWFService-Projekt, das Sie erstellt, in haben der Vorgehensweise: Erstellen eines Workflowdiensts mit Messagingaktivitäten Thema.Load the MyWFService project you created in the How to: Create a Workflow Service with Messaging Activities topic.

  3. Klicken Sie mit der rechten Maustaste auf die MyWFService -Lösung in die Projektmappen-Explorer , und wählen Sie hinzufügen, neues Projekt.Right click the MyWFService solution in the Solution Explorer and select Add, New Project. Wählen Sie Workflow in der installierte Vorlagen und Workflowkonsolenanwendung aus der Liste der Projekttypen zur Verfügung.Select Workflow in the Installed Templates and Workflow Console Application from the list of project types. Geben Sie dem Projekt den Namen "MyWFClient", und verwenden Sie wie in der folgenden Abbildung gezeigt den Standardspeicherort.Name the project MyWFClient and use the default location as shown in the following illustration.

    Dialogfeld "Neues Projekt" hinzufügenAdd New Project Dialog

    Klicken Sie auf die OK Schaltfläche beim Schließen der hinzufügen Dialogfeld "Neues Projekt".Click the OK button to dismiss the Add New Project Dialog.

  4. Nachdem das Projekt erstellt wurde, wird die Datei "Workflow1.xaml" im Designer geöffnet.After the project is created, the Workflow1.xaml file is opened in the designer. Klicken Sie auf die Toolbox Tab, um die Toolbox zu öffnen, ist er nicht bereits geöffnet, und klicken Sie auf das Pinsymbol, damit das Toolboxfenster geöffnet bleibt.Click the Toolbox tab to open the toolbox if it is not already open and click the pushpin to keep the toolbox window open.

  5. Drücken Sie STRG+F5, um den Dienst zu erstellen und zu starten.Press Ctrl + F5 to build and launch the service. Wie zuvor auch, wird der ASP.NET Development Server gestartet, und Internet Explorer zeigt die WCF-Hilfeseite an.As before, the ASP.NET Development Server is launched and Internet Explorer displays the WCF Help Page. Merken Sie sich den URI für diese Seite, da Sie diesen im nächsten Schritt verwenden.Notice the URI for this page as you must use it in the next step.

    IE Anzeigen von WCF-Hilfeseite und URIIE displaying WCF Help Page and URI

  6. Klicken Sie mit der rechten Maustaste auf die MyWFClient -Projekt in der Projektmappen-Explorer , und wählen Sie Hinzufügen eines Dienstverweises.Right click the MyWFClient project in the Solution Explorer and select Add Service Reference. Klicken Sie auf die Discover Schaltfläche, um die aktuelle Projektmappe nach Diensten suchen.Click the Discover button to search the current solution for any services. Klicken Sie in der Liste "Dienste" auf das Dreieck neben der Datei "Service1.xamlx".Click the triangle next to Service1.xamlx in the Services list. Klicken Sie auf das Dreieck neben "Service1", um die vom Dienst "Service1" implementierten Verträge aufzuführen.Click the triangle next to Service1 to list the contracts implemented by the Service1 service. Erweitern Sie die "Service1" Knoten in der Services Liste.Expand the Service1 node in the Services list. Echo-Vorgang wird angezeigt, der Vorgänge Liste wie in der folgenden Abbildung dargestellt.The Echo operation is displayed in the Operations list as shown in the following illustration.

    Hinzufügen von "Dienstverweis"Add Service Reference Dialog

    Halten Sie den Standardnamespace, und klicken Sie auf OK beim Schließen der Hinzufügen eines Dienstverweises Dialogfeld.Keep the default namespace and click OK to dismiss the Add Service Reference dialog. Das folgende Dialogfeld wird angezeigt.The following dialog is displayed.

    Die Add Service Benachrichtigungsdialogfeld "Dienstverweis"The add service reference notification dialog

    Klicken Sie auf OK um das Dialogfeld zu schließen.Click OK to dismiss the dialog. Drücken Sie dann STRG+UMSCHALT+B, um die Projektmappe zu erstellen.Next, press CTRL+SHIFT+B to build the solution. Beachten Sie, dass in der Toolbox ein neuer Abschnitt hinzugefügt wurde aufgerufen MyWFClient.ServiceReference1.Activities.Notice in the toolbox a new section has been added called MyWFClient.ServiceReference1.Activities. Erweitern Sie diesen Abschnitt, und beachten Sie die Echo-Aktivität, die wie in der folgenden Abbildung dargestellt hinzugefügt wurde.Expand this section and notice the Echo activity that has been added as shown in the following illustration.

    Echo-Aktivität in der ToolboxEcho activity in toolbox

  7. Drag & drop eine System.ServiceModel.Activities.Sequence Aktivität auf die Designeroberfläche.Drag and drop a System.ServiceModel.Activities.Sequence activity onto the designer surface. Diese befindet sich in der Control Flow Abschnitt der Toolbox.It is under the Control Flow section of the toolbox.

  8. Mit der System.ServiceModel.Activities.Sequence Aktivität im Fokus, klicken Sie auf die Variablen verknüpfen, und fügen Sie eine Zeichenfolgenvariable mit dem Namen inString.With the System.ServiceModel.Activities.Sequence activity in focus, click the Variables link and add a string variable named inString. Geben Sie der Variablen einen Standardwert von "Hello, world" sowie eine Zeichenfolgenvariable mit dem Namen outString wie im folgenden Diagramm dargestellt.Give the variable a default value of "Hello, world" as well as a string variable named outString as shown in the following diagram.

    Hinzufügen einer VariableAdding a variable

  9. Drag & drop ein Echo Aktivität in der System.ServiceModel.Activities.Sequence.Drag and drop an Echo activity into the System.ServiceModel.Activities.Sequence. Binden Sie im Eigenschaftenfenster die inMsg Argument an die inString Variable und die outMsg Argument an die outString -Variable, wie in der folgenden Abbildung dargestellt.In the properties window bind the inMsg argument to the inString variable and the outMsg argument to the outString variable as shown in the following illustration. Dadurch wird der Wert der inString-Variable an den Vorgang übergeben und anschließend der Rückgabewert in die outString-Variable eingefügt.This passes in the value of the inString variable to the operation and then takes the return value and places it in the outString variable.

    Binden von Argumenten an VariablenBinding the arguments to variables

  10. Drag & drop eine WriteLine Aktivität unten die Echo Aktivität, die vom Dienstaufruf zurückgegebene Zeichenfolge anzuzeigen.Drag and drop a WriteLine activity below the Echo activity to display the string returned by the service call. Die WriteLine Aktivität befindet sich der primitive Knoten in der Toolbox.The WriteLine activity is located in the Primitives node in the toolbox. Binden der Text Argument der WriteLine Aktivität, um die outString Variable, indem Sie eingeben outString in das Textfeld auf die WriteLine Aktivität.Bind the Text argument of the WriteLine activity to the outString variable by typing outString into the text box on the WriteLine activity. Der Workflow sollte jetzt wie die folgende Abbildung aussehen.The workflow should now look like the following illustration.

    Der gesamte clientworkflowThe complete client workflow

  11. Mit der rechten Maustaste in die Projektmappe "mywfservice", und wählen Sie Startprojekte festlegen... . Wählen Sie die mehrere Startprojekte Optionsfeld und wählen Sie starten für jedes Projekt in der Aktion Spalte wie in der folgenden Abbildung gezeigt.Right-click the MyWFService solution and select Set Startup Projects .... Select the Multiple startup projects radio button and select Start for each project in the Action column as shown in the following illustration.

    Optionen des StartobjektsStartup projects options

  12. Drücken Sie STRG+F5, um sowohl den Dienst als auch den Client zu starten.Press Ctrl + F5 to launch both the service and the client. Der Dienst für den ASP.NET Development Server gehostet, Internet Explorer zeigt die WCF-Hilfeseite und die Workflow-Clientanwendung wird in einem Konsolenfenster gestartet und zeigt die Zeichenfolge, die vom Dienst ("Hello, World") zurückgegeben.The ASP.NET Development Server hosts the service, Internet Explorer displays the WCF help page, and the client workflow application is launched in a console window and displays the string returned from the service ("Hello, world").

Siehe auchSee Also

WorkflowdiensteWorkflow Services
Vorgehensweise: Erstellen eines Workflowdiensts mit MessagingaktivitätenHow to: Create a Workflow Service with Messaging Activities
Verarbeiten einer WCF-Diensts aus einem Workflow in einem WebprojektConsuming a WCF Service from a Workflow in a Web Project