Delen via


Procedure: Een werkstroomservice maken met berichtenactiviteiten

In dit onderwerp wordt beschreven hoe u een eenvoudige werkstroomservice maakt met behulp van berichtenactiviteiten. Dit onderwerp is gericht op de mechanica van het maken van een werkstroomservice waarbij de service uitsluitend uit berichtenactiviteiten bestaat. In een echte service bevat de werkstroom veel andere activiteiten. De service implementeert één bewerking met de naam Echo, die een tekenreeks accepteert en de tekenreeks retourneert naar de aanroeper. Dit onderwerp is de eerste in een reeks van twee onderwerpen. Het volgende onderwerp Procedure: Toegang tot een service vanuit een werkstroomtoepassing beschrijft hoe u een werkstroomtoepassing maakt die de service die in dit onderwerp is gemaakt, kan aanroepen.

Een werkstroomserviceproject maken

  1. Start Visual Studio 2012.

  2. Klik op het menu Bestand , selecteer Nieuw en klik vervolgens op Project om het dialoogvenster Nieuw project weer te geven. Selecteer Workflow in de lijst met geïnstalleerde sjablonen en WCF Workflow Service Application in de lijst met projecttypen. Geef het project MyWFService een naam en gebruik de standaardlocatie, zoals wordt weergegeven in de volgende afbeelding.

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

  3. Wanneer het project is gemaakt, wordt het bestand Service1.xamlx geopend in de ontwerpfunctie, zoals wordt weergegeven in de volgende afbeelding.

    Screenshot shows the open Service1.xamlx file in the designer.

    Klik met de rechtermuisknop op de activiteit met het label Sequentiële service en selecteer Verwijderen.

De werkstroomservice implementeren

  1. Selecteer het tabblad Werkset aan de linkerkant van het scherm om de werkset weer te geven en klik op de punaise om het venster open te houden. Vouw de sectie Berichten van de werkset uit om de berichtenactiviteiten en de berichtactiviteitssjablonen weer te geven, zoals wordt weergegeven in de volgende afbeelding.

    Screenshot that shows the toolbox with Messaging section expanded.

  2. Sleep een ReceiveAndSendReply-sjabloon naar de werkstroomontwerper en zet deze neer . Hiermee maakt u een Sequence activiteit met een ontvangstactiviteit gevolgd door een SendReply activiteit, zoals wordt weergegeven in de volgende afbeelding.

    Screenshot that shows the ReceiveAndSendReply template.

    U ziet dat de eigenschap van Request de SendReply activiteit is ingesteld op Receive, de naam van de Receive activiteit waarop de SendReply activiteit reageert.

  3. Typ in het Receive activiteitstype Echo in het tekstvak met het label OperationName. Hiermee definieert u de naam van de bewerking die de service implementeert.

    Screenshot that shows where to specify the operation name.

  4. Als de Receive activiteit is geselecteerd, opent u het eigenschappenvenster als dit nog niet is geopend door op het menu Beeld te klikken en het venster Eigenschappen te selecteren. Schuif in het venster Eigenschappen omlaag totdat u CanCreateInstance ziet en klik op het selectievakje zoals wordt weergegeven in de volgende afbeelding. Met deze instelling kan de werkstroomservicehost een nieuw exemplaar van de service maken (indien nodig) wanneer een bericht wordt ontvangen.

    Screenshot that shows the CanCreateInstance property.

  5. Selecteer de Sequence activiteit en klik op de knop Variabelen in de linkerbenedenhoek van de ontwerpfunctie. Hiermee wordt de editor voor variabelen weergegeven. Klik op de koppeling Variabele maken om een variabele toe te voegen om de tekenreeks op te slaan die naar de bewerking is verzonden. Geef de variabele msg een naam en stel het type variabele in op Tekenreeks, zoals wordt weergegeven in de volgende afbeelding.

    Screenshot that shows how to add a variable.

    Klik nogmaals op de knop Variabelen om de editor voor variabelen te sluiten.

  6. Klik op de koppeling Definiëren in het tekstvak Inhoud in de Receive activiteit om het dialoogvenster Inhoudsdefinitie weer te geven. Selecteer het keuzerondje Parameters , klik op de koppeling Nieuwe parameter toevoegen, typ inMsg het tekstvak Naam , selecteer Tekenreeks in de vervolgkeuzelijst Type en typ msg het tekstvak Toewijzen aan , zoals wordt weergegeven in de volgende afbeelding.

    Screenshot that shows adding Parameters content.

    Hiermee geeft u op dat de ontvangstactiviteit een tekenreeksparameter ontvangt en dat de gegevens zijn gebonden aan de msg variabele. Klik op OK om het dialoogvenster Inhoudsdefinitie te sluiten.

  7. Klik op de koppeling Definiëren... in het vak Inhoud in de SendReply activiteit om het dialoogvenster Inhoudsdefinitie weer te geven. Selecteer het keuzerondje Parameters , klik op de koppeling Nieuwe parameter toevoegen, typ outMsg het tekstvak naam , selecteer Tekenreeks in de vervolgkeuzelijst Type en msg selecteer in het tekstvak Waarde , zoals wordt weergegeven in de volgende afbeelding.

    Screenshot that shows how to add the outMsg parameter.

    Hiermee geeft u op dat de SendReply activiteit een bericht- of berichtcontracttype verzendt en dat de gegevens zijn gebonden aan de msg variabele. Omdat dit een SendReply activiteit is, betekent dit dat de gegevens worden msg gebruikt om het bericht te vullen dat de activiteit terugstuurt naar de client. Klik op OK om het dialoogvenster Inhoudsdefinitie te sluiten.

  8. Sla de oplossing op en bouw deze door op het menu Build te klikken en Build Solution te selecteren.

Het werkstroomserviceproject configureren

De werkstroomservice is voltooid. In deze sectie wordt uitgelegd hoe u de werkstroomserviceoplossing configureert om eenvoudig te hosten en uit te voeren. Deze oplossing maakt gebruik van de ASP.NET Development Server om de service te hosten.

Opstartopties voor projecten instellen

  1. Klik in Solution Explorer met de rechtermuisknop op MyWFService en selecteer Eigenschappen om het dialoogvenster Projecteigenschappen weer te geven.

  2. Selecteer het tabblad Web en selecteer Specifieke pagina onder Actie starten en typ Service1.xamlx het tekstvak, zoals wordt weergegeven in de volgende afbeelding.

    Screenshot that shows the project properties dialog.

    Hiermee wordt de service gehost die is gedefinieerd in Service1.xamlx in de ASP.NET Development Server.

  3. Druk op Ctrl+F5 om de service te starten. Het pictogram ASP.NET Development Server wordt rechtsonder op het bureaublad weergegeven, zoals wordt weergegeven in de volgende afbeelding.

    Screenshot that shows the ASP.NET Developer Server icon.

    Bovendien wordt in de browser de helppagina van de WCF-service voor de service weergegeven.

    Screenshot that shows the WCF Service Help Page.

  4. Ga door naar het onderwerp Procedure: Toegang krijgen tot een service vanuit een werkstroomtoepassingsonderwerp om een werkstroomclient te maken die deze service aanroept.

Zie ook