Vorgehensweise: Erstellen eines Workflowdiensts zum Verarbeiten eines vorhandenen Dienstvertrags

.NET Framework 4.5 bietet eine bessere Integration zwischen Webdiensten und Workflows in Form der Vertrag zuerst-Workflowentwicklung. Das Tool für die Vertrag zuerst-Workflowentwicklung ermöglicht es Ihnen, den Vertrag zuerst im Code zu entwerfen. Das Tool generiert dann automatisch eine Aktivitätsvorlage für die Vertragsvorgänge in der Toolbox.

Hinweis

Dieses Thema enthält eine schrittweise Anleitung zum Erstellen eines Vertrag zuerst-Workflowdiensts. Weitere Informationen zur Entwicklung von Vertrag zuerst-Workflowdiensten finden Sie unter Entwickeln von Vertrag zuerst-Workflowdiensten.

Erstellen des Workflowprojekts

  1. Wählen Sie in Visual Studio Datei, Neues Projekt aus. Wählen Sie in der Vorlagen-Baumstruktur unter dem Knoten C# die Option WCF aus, und wählen Sie die Vorlage Dienstanwendung für WCF-Workflows aus.

  2. Geben Sie dem neuen Projekt den Namen ContractFirst, und klicken Sie auf OK.

Erstellen des Dienstvertrags

  1. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf das Projekt, und wählen Sie Hinzufügen, Neues Element ... aus. Wählen Sie den Knoten Code auf der linken Seite und die Vorlage Klasse auf der rechten Seite aus. Benennen Sie die neue Klasse IBookService, und klicken Sie auf OK.

  2. Fügen Sie System.ServiceModel im oberen Bereich des angezeigten Codefensters eine Using-Anweisung hinzu.

    using System.ServiceModel;  
    
  3. Ändern Sie die Beispielklassendefinition in die folgende Schnittstellendefinition.

    [ServiceContract]  
        public interface IBookService  
        {  
            [OperationContract]  
            void Buy(string bookName);  
    
            [OperationContract(IsOneWay=true)]  
            void Checkout();  
        }  
    
  4. Erstellen Sie das Projekt, indem Sie STRG+UMSCHALT+B drücken.

Importieren des Dienstvertrags

  1. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf das Projekt, und wählen Sie Dienstvertrag importieren aus. Öffnen Sie unter <Aktuelles Projekt> alle untergeordneten Knoten, und wählen Sie IBookService aus. Klicken Sie auf OK.

  2. Es wird ein Dialogfeld mit dem Hinweis geöffnet, dass der Vorgang erfolgreich abgeschlossen wurde und dass die generierten Aktivitäten in der Toolbox angezeigt werden, nachdem Sie das Projekt erstellt haben. Klicken Sie auf OK.

  3. Erstellen Sie das Projekt, indem Sie STRG+UMSCHALT+B drücken, damit die importierten Aktivitäten in der Toolbox angezeigt werden.

  4. Öffnen Sie im Projektmappen-Explorer die Datei Service1.xamlx. Der Workflowdienst wird im Designer angezeigt.

  5. Wählen Sie die Sequence-Aktivität aus. Klicken Sie im Eigenschaftenfenster für die ImplementedContract-Eigenschaft auf die Schaltfläche mit dem Auslassungszeichen (). Klicken Sie im daraufhin angezeigten Fenster Typauflistungs-Editor auf die Dropdownliste Typ, und wählen Sie den Eintrag Nach Typen suchen ...aus. Öffnen Sie im Dialogfeld .NET-Typ suchen und auswählen unter <Aktuelles Projekt> alle untergeordneten Knoten, und wählen Sie IBookService aus. Klicken Sie auf OK. Klicken Sie im Dialogfeld Typauflistungs-Editor auf OK.

  6. Wählen Sie die ReceiveRequest-Aktivität und die SendResponse-Aktivität aus, und löschen Sie diese.

  7. Ziehen Sie eine Buy_ReceiveAndSendReply-Aktivität und eine Checkout_Receive-Aktivität aus der Toolbox auf die Sequenzieller Dienst-Aktivität.