Delen via


Procedure: Toegang krijgen tot een service vanuit een werkstroomtoepassing

In dit onderwerp wordt beschreven hoe u een werkstroomservice aanroept vanuit een werkstroomconsoletoepassing. Dit is afhankelijk van de voltooiing van het onderwerp Procedure: Een werkstroomservice maken met het onderwerp Berichtenactiviteiten . Hoewel in dit onderwerp wordt beschreven hoe u een werkstroomservice aanroept vanuit een werkstroomtoepassing, kunnen dezelfde methoden worden gebruikt om een WCF-service (Windows Communication Foundation) aan te roepen vanuit een werkstroomtoepassing.

Een werkstroomconsoletoepassingsproject maken

  1. Start Visual Studio 2012.

  2. Laad het MyWFService-project dat u hebt gemaakt in het onderwerp Procedure: Een werkstroomservice maken met berichtactiviteiten .

  3. Klik met de rechtermuisknop op de MyWFService-oplossing in Solution Explorer en selecteer Toevoegen, Nieuw project. Selecteer Werkstroom in de geïnstalleerde sjablonen en werkstroomconsoletoepassing in de lijst met projecttypen. Geef het project de naam MyWFClient en gebruik de standaardlocatie, zoals wordt weergegeven in de volgende afbeelding.

    Add New Project Dialog

    Klik op de knop OK om het dialoogvenster Nieuw project toevoegen te sluiten.

  4. Nadat het project is gemaakt, wordt het bestand Workflow1.xaml geopend in de ontwerpfunctie. Klik op het tabblad Werkset om de werkset te openen als deze nog niet is geopend en klik op de punaise om het werksetvenster geopend te houden.

  5. Druk op Ctrl+F5 om de service te bouwen en te starten. Net als voorheen wordt de ASP.NET Development Server gestart en wordt de WCF Help-pagina weergegeven. Let op de URI voor deze pagina, omdat u deze in de volgende stap moet gebruiken.

    Browser displaying WCF help page and URI

  6. Klik met de rechtermuisknop op het Project MyWFClient in Solution Explorer en selecteer Serviceverwijzing toevoegen>. Klik op de knop Ontdekken om te zoeken in de huidige oplossing voor services. Klik op de driehoek naast Service1.xamlx in de lijst Services. Klik op de driehoek naast Service1 om de contracten weer te geven die door de Service1-service zijn geïmplementeerd. Vouw het knooppunt Service1 uit in de lijst Services . De echobewerking wordt weergegeven in de lijst Bewerkingen , zoals wordt weergegeven in de volgende afbeelding.

    Add Service Reference Dialog

    Behoud de standaardnaamruimte en klik op OK om het dialoogvenster Servicereferentie toevoegen te sluiten. Het volgende dialoogvenster wordt weergegeven.

    Add Service Reference Notification dialog

    Klik op OK om het dialoogvenster te sluiten. Druk vervolgens op Ctrl+Shift+B om de oplossing te bouwen. In de werkset is een nieuwe sectie toegevoegd met de naam MyWFClient.ServiceReference1.Activities. Vouw deze sectie uit en let op de Echo-activiteit die is toegevoegd, zoals wordt weergegeven in de volgende afbeelding.

    Echo activity in the toolbox

  7. Sleep een Sequence activiteit naar het ontwerpoppervlak en zet deze neer. Deze bevindt zich onder de sectie Controlestroom van de werkset.

  8. Klik met de Sequence activiteit in de focus op de koppeling Variabelen en voeg een tekenreeksvariabele toe met de naam inString. Geef de variabele een standaardwaarde van "Hello, world" en een tekenreeksvariabele met de naam outString , zoals wordt weergegeven in het volgende diagram.

    Adding an inString variable

  9. Sleep een Echo-activiteit en zet deze neer in de Sequence. In het eigenschappenvenster koppelt u het inMsg argument aan de inString variabele en het outMsg argument aan de outString variabele, zoals wordt weergegeven in de volgende afbeelding. Hiermee wordt de waarde van de inString variabele doorgegeven aan de bewerking en wordt de retourwaarde vervolgens in de outString variabele weergegeven.

    Binding the arguments to variables

  10. Sleep een WriteLine-activiteit onder de Echo-activiteit en zet deze neer om de tekenreeks weer te geven die door de serviceoproep wordt geretourneerd. De activiteit WriteLine bevindt zich in het knooppunt Primitieven in de werkset. Bind het argument Tekst van de activiteit WriteLine aan de outString variabele door in het tekstvak van de schrijflijnactiviteit te typenoutString. De werkstroom moet er nu uitzien als in de volgende afbeelding.

    The complete client workflow

  11. Klik met de rechtermuisknop op de oplossing MyWFService en selecteer Opstartprojecten instellen. Selecteer het keuzerondje Meerdere opstartprojecten en selecteer Start voor elk project in de kolom Actie , zoals wordt weergegeven in de volgende afbeelding.

    Startup projects options

  12. Druk op Ctrl+F5 om zowel de service als de client te starten. De ASP.NET Development Server host de service, de browser geeft de WCF Help-pagina weer en de clientwerkstroomtoepassing wordt gestart in een consolevenster en geeft de tekenreeks weer die wordt geretourneerd door de service (Hallo, wereld).

Zie ook