Procedura: creare un servizio di flusso di lavoro che utilizza un contratto di servizio esistente

.NET Framework 4.5 offre una maggiore integrazione tra i servizi Web e i flussi di lavoro sotto forma di sviluppo di flussi di lavoro con priorità al contratto. Lo strumento di sviluppo di flussi di lavoro con priorità al contratto consente di progettare il contratto innanzitutto nel codice. Lo strumento consente di generare automaticamente un modello di attività nella casella degli strumenti per le operazioni nel contratto.

Nota

In questo argomento viene fornito materiale sussidiario dettagliato per la creazione di un servizio del flusso di lavoro con priorità al contratto ("contract-first"). Per altre informazioni sullo sviluppo del servizio di flusso di lavoro con priorità al contratto, vedere Sviluppo del servizio del flusso di lavoro con priorità al contratto ("contract-first").

Creazione del progetto flusso di lavoro

  1. In Visual Studio selezionare File, Nuovo progetto. Selezionare il nodo WCF nel nodo C# nell'albero Modelli e selezionare il modello Applicazione del servizio flusso di lavoro WCF.

  2. Assegnare un nome al nuovo progetto ContractFirst e fare clic su OK.

Creazione del contratto di servizio

  1. In Esplora soluzioni fare clic con il pulsante destro del mouse sul progetto e selezionare Aggiungi, Nuovo elemento. Selezionare il nodo Codice a sinistra e il modello Classe a destra. Assegnare un nome alla nuova classe IBookService e fare clic su OK.

  2. Nella parte superiore della finestra del codice visualizzata, aggiungere un'istruzione Using a System.ServiceModel.

    using System.ServiceModel;  
    
  3. Modificare la definizione della classe di esempio nella definizione di interfaccia seguente.

    [ServiceContract]  
        public interface IBookService  
        {  
            [OperationContract]  
            void Buy(string bookName);  
    
            [OperationContract(IsOneWay=true)]  
            void Checkout();  
        }  
    
  4. Premere CTRL+MAIUSC+B per compilare il progetto.

Importazione del contratto di servizio

  1. In Esplora soluzioni fare clic con il pulsante destro del mouse sul progetto e selezionare Importa contratto del servizio. In <Progetto corrente> aprire tutti i sottonodi e selezionare IBookService. Fare clic su OK.

  2. Verrà visualizzata una finestra di dialogo indicante che l'operazione è stata completata correttamente e che le attività generate verranno inserite nella casella degli strumenti dopo che il progetto sarà stato compilato. Fare clic su OK.

  3. Compilare il progetto premendo CTRL+MAIUSC+B; in questo modo le attività importate saranno visualizzate nella casella degli strumenti.

  4. In Esplora soluzioni aprire il file Service1.xamlx. Il servizio del flusso di lavoro verrà visualizzata nella finestra di progettazione.

  5. Selezionare l'attività Sequence. Nella finestra Proprietà fare clic sul pulsante nella proprietà ImplementedContract. Nella finestra Editor raccolta di tipi che viene visualizzata fare clic sul menu a discesa Tipo e selezionare la voce Cerca tipi. Nella finestra di dialogo Cerca e seleziona un tipo .NET, in <Progetto corrente>, aprire tutti i sottonodi e selezionare IBookService. Fare clic su OK. Nella finestra di dialogo Editor raccolta di tipi fare clic su OK.

  6. Selezionare ed eliminare le attività ReceiveRequest e SendResponse.

  7. Dalla casella degli strumenti, trascinare un'attività Buy_ReceiveAndSendReply e un'attività Checkout_Receive sull'attività Sequential Service.