Anvisningar: Få åtkomst till en tjänst från ett arbetsflödesprogram
I det här avsnittet beskrivs hur du anropar en arbetsflödestjänst från ett arbetsflödeskonsolprogram. Det beror på slutförandet av avsnittet Så här skapar du en arbetsflödestjänst med meddelandeaktiviteter . Även om det här avsnittet beskriver hur du anropar en arbetsflödestjänst från ett arbetsflödesprogram, kan samma metoder användas för att anropa valfri Windows Communication Foundation-tjänst (WCF) från ett arbetsflödesprogram.
Skapa ett arbetsflödeskonsolprogramprojekt
Starta Visual Studio 2012.
Läs in myWFService-projektet som du skapade i avsnittet Så här skapar du en arbetsflödestjänst med meddelandeaktiviteter .
Högerklicka på MyWFService-lösningen i Solution Explorer och välj Lägg till, Nytt projekt. Välj Arbetsflöde i program för installerade mallar och arbetsflödeskonsoler i listan över projekttyper. Ge projektet namnet MyWFClient och använd standardplatsen enligt följande bild.
Klicka på KNAPPEN OK för att stänga dialogrutan Lägg till nytt projekt.
När projektet har skapats öppnas filen Workflow1.xaml i designern. Klicka på fliken Verktygslåda för att öppna verktygslådan om den inte redan är öppen och klicka på knappnålen för att hålla verktygslådans fönster öppet.
Tryck på Ctrl+F5 för att skapa och starta tjänsten. Precis som tidigare startas ASP.NET Development Server och webbläsaren visar WCF-hjälpsidan. Observera URI:n för den här sidan eftersom du måste använda den i nästa steg.
Högerklicka på Projektet MyWFClient i Solution Explorer och välj Lägg till>tjänstreferens. Klicka på knappen Identifiera för att söka efter tjänster i den aktuella lösningen. Klicka på triangeln bredvid Service1.xamlx i listan Tjänster. Klicka på triangeln bredvid Service1 för att visa en lista över kontrakt som implementerats av Service1-tjänsten. Expandera noden Service1 i listan Tjänster. Echo-åtgärden visas i listan Åtgärder enligt följande bild.
Behåll standardnamnområdet och klicka på OK för att stänga dialogrutan Lägg till tjänstreferens . Följande dialogruta visas.
Klicka på OK för att stänga dialogrutan. Tryck sedan på CTRL+SKIFT+B för att skapa lösningen. Observera i verktygslådan att ett nytt avsnitt har lagts till med namnet MyWFClient.ServiceReference1.Activities. Expandera det här avsnittet och lägg märke till ekoaktiviteten som har lagts till enligt följande bild.
Dra och släpp en Sequence aktivitet på designerytan. Den finns under avsnittet Kontrollflöde i verktygslådan.
Sequence När aktiviteten är i fokus klickar du på länken Variabler och lägger till en strängvariabel med namnet
inString
. Ge variabeln ett standardvärde"Hello, world"
för samt en strängvariabel med namnetoutString
enligt följande diagram.Dra och släpp en Echo-aktivitet i Sequence. I egenskapsfönstret binder du
inMsg
argumentet till variabelninString
ochoutMsg
argumentet till variabelnoutString
enligt följande bild. Detta skickar värdet för variabelninString
till åtgärden och tar sedan returvärdet och placerar det i variabelnoutString
.Dra och släpp en WriteLine-aktivitet under Echo-aktiviteten för att visa strängen som returnerades av tjänstanropet. WriteLine-aktiviteten finns i noden Primitives i verktygslådan. Binda argumentet Text för aktiviteten WriteLine till variabeln
outString
genom attoutString
skriva i textrutan i aktiviteten WriteLine. Arbetsflödet bör nu se ut som följande bild.Högerklicka på MyWFService-lösningen och välj Ange startprojekt. Välj alternativknappen Flera startprojekt och välj Start för varje projekt i kolumnen Åtgärd enligt följande bild.
Tryck på Ctrl+F5 för att starta både tjänsten och klienten. ASP.NET Development Server är värd för tjänsten, webbläsaren visar WCF-hjälpsidan och klientarbetsflödesprogrammet startas i ett konsolfönster och visar strängen som returneras från tjänsten ("Hello, world").