Procedimiento para crear un servicio de flujo de trabajo que consuma un contrato de servicio existente

.NET Framework 4.5 presenta una mejor integración entre los servicios web y los flujos de trabajo en forma de desarrollo de flujo de trabajo de contrato primero. La herramienta de desarrollo de flujo de trabajo de contrato primero permite diseñar el contrato en Code First. La herramienta después genera automáticamente una plantilla de actividad en el cuadro de herramientas para las operaciones del contrato.

Nota

Este tema proporciona instrucciones paso a paso sobre cómo crear un servicio de flujo de trabajo de contrato primero. Para más información sobre el desarrollo de servicios de flujo de trabajo de contrato primero, consulte Desarrollo de servicios de flujo de trabajo de contrato primero.

Crear el proyecto de flujo de trabajo

  1. En Visual Studio, seleccione Archivo, Nuevo proyecto. Seleccione el nodo WCF del nodo C# en el árbol Plantillas y seleccione la plantilla Aplicación de servicio de flujo de trabajo WCF.

  2. Asigne al nuevo proyecto el nombre ContractFirst y haga clic en Aceptar:

Crear el contrato de servicio

  1. Haga clic con el botón derecho en el Explorador de soluciones y seleccione Agregar, Nuevo elemento... Seleccione el nodo Código de la izquierda y la plantilla Clase de la derecha. Asigne a la nueva clase el nombre IBookService y haga clic en Agregar.

  2. En la parte superior de la ventana de código que aparece, agregue una instrucción Using a System.ServiceModel.

    using System.ServiceModel;  
    
  3. Cambie la definición de clase de ejemplo a la definición de interfaz siguiente.

    [ServiceContract]  
        public interface IBookService  
        {  
            [OperationContract]  
            void Buy(string bookName);  
    
            [OperationContract(IsOneWay=true)]  
            void Checkout();  
        }  
    
  4. Compile el proyecto presionando Ctrl+Mayús+B.

Importar el contrato de servicio

  1. Haga clic con el botón secundario en el proyecto en Explorador de soluciones y seleccione Importar contrato de servicio. En <Proyecto actual>, abra todos los subnodos y seleccione IBookService. Haga clic en OK.

  2. Verá un cuadro de diálogo que avisa de que la operación se ha completado correctamente y de que las actividades generadas aparecerán en el cuadro de herramientas tras haber compilado el proyecto. Haga clic en OK.

  3. Compile el proyecto; para ello, presione Ctrl+Mayús+B, de modo que las actividades importadas aparezcan en el cuadro de herramientas.

  4. En el Explorador de soluciones, abra Service1.xamlx. El servicio de flujo de trabajo aparecerá en el diseñador.

  5. Seleccione la actividad Sequence. En la ventana Propiedades, haga clic en el botón ... de la propiedad ImplementedContract. En la ventana Editor de colecciones de tipos que aparece, haga clic en la lista desplegable Tipo y seleccione la entrada Buscar tipos… En el cuadro de diálogo Examinar y seleccionar un tipo .NET, en <Proyecto actual>, abra todos los subnodos y seleccione IBookService. Haga clic en OK. En el cuadro de diálogo Editor de colecciones de tipos, haga clic en Aceptar.

  6. Seleccione y elimine las actividades ReceiveRequest y SendResponse.

  7. En el cuadro de herramientas, arrastre una actividad Buy_ReceiveAndSendReply y Checkout_Receive a la actividad Sequential Service.