Dela via


Anvisningar: Skapa en arbetsflödestjänst med meddelandeaktiviteter

Det här avsnittet beskriver hur du skapar en enkel arbetsflödestjänst med hjälp av meddelandeaktiviteter. Det här avsnittet fokuserar på mekaniken för att skapa en arbetsflödestjänst där tjänsten endast består av meddelandeaktiviteter. I en verklig tjänst innehåller arbetsflödet många andra aktiviteter. Tjänsten implementerar en åtgärd med namnet Echo, som tar en sträng och returnerar strängen till anroparen. Det här avsnittet är det första i en serie med två ämnen. I nästa avsnitt How To: Access a Service From a Workflow Application (Så här gör du: Åtkomst till en tjänst från ett arbetsflödesprogram ) beskriver hur du skapar ett arbetsflödesprogram som kan anropa tjänsten som skapats i det här avsnittet.

Skapa ett arbetsflödestjänstprojekt

  1. Starta Visual Studio 2012.

  2. Klicka på Arkiv-menyn, välj Nytt och sedan Projekt för att visa dialogrutan Nytt projekt. Välj Arbetsflöde i listan över installerade mallar och WCF-arbetsflödestjänstprogram i listan över projekttyper. Namnge projektet MyWFService och använd standardplatsen enligt följande bild.

    Klicka på KNAPPEN OK för att stänga dialogrutan Nytt projekt.

  3. När projektet skapas öppnas filen Service1.xamlx i designern enligt följande bild.

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

    Högerklicka på aktiviteten med etiketten Sekventiell tjänst och välj Ta bort.

Implementera arbetsflödestjänsten

  1. Välj fliken Verktygslåda till vänster på skärmen för att visa verktygslådan och klicka på pushpin för att hålla fönstret öppet. Expandera avsnittet Meddelanden i verktygslådan för att visa meddelandeaktiviteterna och mallarna för meddelandeaktivitet enligt följande bild.

    Screenshot that shows the toolbox with Messaging section expanded.

  2. Dra och släpp en ReceiveAndSendReply-mall till arbetsflödesdesignern. Detta skapar en Sequence aktivitet med en Mottagningsaktivitet följt av en SendReply aktivitet som visas i följande bild.

    Screenshot that shows the ReceiveAndSendReply template.

    Observera att SendReply aktivitetens Request egenskap är inställd Receivepå , namnet på den Receive aktivitet som SendReply aktiviteten svarar på.

  3. I aktivitetstypen Echo Receive i textrutan med etiketten OperationName. Detta definierar namnet på den åtgärd som tjänsten implementerar.

    Screenshot that shows where to specify the operation name.

  4. Receive När aktiviteten är markerad öppnar du egenskapsfönstret om det inte redan är öppet genom att klicka på menyn Visa och välja Egenskapsfönster. Rulla nedåt i fönstret Egenskaper tills du ser CanCreateInstance och klicka på kryssrutan enligt följande bild. Med den här inställningen kan arbetsflödestjänstvärden skapa en ny instans av tjänsten (om det behövs) när ett meddelande tas emot.

    Screenshot that shows the CanCreateInstance property.

  5. Välj aktiviteten Sequence och klicka på knappen Variabler i designerns nedre vänstra hörn. Då visas variabelredigeraren. Klicka på länken Skapa variabel för att lägga till en variabel för att lagra strängen som skickats till åtgärden. Namnge variabeln msg och ange variabeltypen till Sträng enligt följande bild.

    Screenshot that shows how to add a variable.

    Klicka på knappen Variabler igen för att stänga redigeringsprogrammet för variabler.

  6. Klicka på länken Definiera.. i textrutan Innehåll i Receive aktiviteten för att visa dialogrutan Innehållsdefinition . Välj alternativknappen Parametrar, klicka på länken Lägg till ny parameter, skriv inMsg in textrutan namn, välj Sträng i listrutan Typ och skriv msg i textrutan Tilldela till enligt följande bild.

    Screenshot that shows adding Parameters content.

    Detta anger att aktiviteten Ta emot tar emot strängparametern och att data är bundna till variabeln msg . Stäng dialogrutan Innehållsdefinition genom att klicka på OK.

  7. Klicka på länken Definiera... i rutan Innehåll i SendReply aktiviteten för att visa dialogrutan Innehållsdefinition. Välj alternativknappen Parametrar, klicka på länken Lägg till ny parameter, skriv outMsg in textrutan namn, välj Sträng i listrutan Typ och msg i textrutan Värde enligt följande bild.

    Screenshot that shows how to add the outMsg parameter.

    Detta anger att SendReply aktiviteten skickar en meddelande- eller meddelandekontraktstyp och att data är bundna till variabeln msg . Eftersom det här är en SendReply aktivitet innebär det att data i används för att fylla i msg meddelandet som aktiviteten skickar tillbaka till klienten. Stäng dialogrutan Innehållsdefinition genom att klicka på OK.

  8. Spara och skapa lösningen genom att klicka på menyn Skapa och välja Skapa lösning.

Konfigurera arbetsflödestjänstprojektet

Arbetsflödestjänsten är klar. I det här avsnittet beskrivs hur du konfigurerar lösningen för arbetsflödestjänsten så att den blir enkel att hantera och köra. Den här lösningen använder ASP.NET Development Server som värd för tjänsten.

Så här konfigurerar du startalternativ för projekt

  1. Högerklicka på MyWFService i Solution Explorer och välj Egenskaper för att visa dialogrutan Projektegenskaper.

  2. Välj fliken Webb och välj Specifik sida under Startåtgärd och skriv Service1.xamlx i textrutan enligt följande bild.

    Screenshot that shows the project properties dialog.

    Detta är värd för tjänsten som definierats i Service1.xamlx i ASP.NET Development Server.

  3. Tryck på Ctrl+F5 för att starta tjänsten. Ikonen ASP.NET Development Server visas längst ned till höger på skrivbordet enligt följande bild.

    Screenshot that shows the ASP.NET Developer Server icon.

    Dessutom visar webbläsaren WCF-tjänstens hjälpsida för tjänsten.

    Screenshot that shows the WCF Service Help Page.

  4. Fortsätt till avsnittet Så här: Få åtkomst till en tjänst från ett arbetsflödesprogram för att skapa en arbetsflödesklient som anropar den här tjänsten.

Se även