Anvisningar: Skapa en arbetsflödestjänst som använder ett befintligt tjänstkontrakt
.NET Framework 4.5 har bättre integrering mellan webbtjänster och arbetsflöden i form av utveckling av kontrakt först. Med det första arbetsflödesutvecklingsverktyget för kontrakt kan du först utforma kontraktet i kod. Verktyget genererar sedan automatiskt en aktivitetsmall i verktygslådan för åtgärderna i kontraktet.
Kommentar
Det här avsnittet innehåller stegvisa riktlinjer för hur du skapar en arbetsflödestjänst för kontrakt först. Mer information om utveckling av tjänsten contract-first workflow finns i Contract First Workflow Service Development (Kontrakt första arbetsflödestjänstutveckling).
Skapa arbetsflödesprojektet
I Visual Studio väljer du Arkiv, Nytt projekt. Välj WCF-noden under C#-noden i mallträdet och välj mallen för WCF-arbetsflödestjänstens program.
Namnge det nya projektet
ContractFirst
och klicka på Ok.
Skapa tjänstkontraktet
Högerklicka på projektet i Solution Explorer och välj Lägg till, Nytt objekt.... Välj noden Kod till vänster och klassmallen till höger. Namnge den nya klassen
IBookService
och klicka på Ok.Överst i kodfönstret som visas lägger du till ett
using
direktiv iSystem.ServiceModel
.using System.ServiceModel;
Ändra exempelklassdefinitionen till följande gränssnittsdefinition.
[ServiceContract] public interface IBookService { [OperationContract] void Buy(string bookName); [OperationContract(IsOneWay=true)] void Checkout(); }
Skapa projektet genom att trycka på Ctrl+Skift+B.
Importera tjänstkontraktet
Högerklicka på projektet i Solution Explorer och välj Importera tjänstkontrakt. Under <Aktuellt projekt> öppnar du alla undernoder och väljer IBookService. Klicka på OK.
En dialogruta öppnas som varnar dig om att åtgärden har slutförts och att de genererade aktiviteterna visas i verktygslådan när du har skapat projektet. Klicka på OK.
Skapa projektet genom att trycka på Ctrl+Skift+B så att de importerade aktiviteterna visas i verktygslådan.
Öppna Service1.xamlx i Solution Explorer. Arbetsflödestjänsten visas i designern.
Välj sekvensaktiviteten. I Fönstret Egenskaper klickar du på knappen ... i egenskapen ImplementedContract. I fönstret Typsamlingsredigerare som visas klickar du på listrutan Typ och väljer posten Bläddra efter typer... . I dialogrutan Bläddra och välj en .NET-typ under <Aktuellt projekt> öppnar du alla undernoder och väljer IBookService. Klicka på OK. I dialogrutan Skriv samlingsredigerare klickar du på OK.
Välj och ta bort aktiviteterna ReceiveRequest och SendResponse .
Dra en Buy_ReceiveAndSendReply och en Checkout_Receive aktivitet till aktiviteten Sekventiell tjänst från verktygslådan.