Cómo: Intercambiar mensajes en cola con extremos de WCF

Las colas garantizan que la mensajería de confianza puede tener lugar entre un cliente y un servicio Windows Communication Foundation (WCF), aun cuando el servicio no esté disponible en el momento de la comunicación. Los procedimientos siguientes muestran cómo garantizar una comunicación duradera entre un cliente y un servicio utilizando el enlace en cola estándar al implementar el servicio WCF.

En esta sección se explica cómo utilizar NetMsmqBinding para la comunicación en cola entre un cliente WCF y un servicio WCF.

Para utilizar la puesta en cola en un servicio WCF

  1. Defina un contrato de servicios utilizando una interfaz marcado con ServiceContractAttribute.

  2. Marque las operaciones en la interfaz que forman parte del contrato de servicios con OperationContractAttribute y especifíquelas como unidireccionales porque no se devuelven respuestas al método. El código siguiente proporciona un contrato de servicios de ejemplo y su definición de operación.

  3. Cuando el contrato de servicios pase los tipos definidos por el usuario, necesitará definir los contratos de datos para esos tipos. El código siguiente muestra un ejemplo de contrato de datos. (Tenga en cuenta que la clase que define este contrato de datos también define varios métodos. Estos métodos no se consideran parte del contrato de datos. Sólo esos miembros que estén declarados con el atributo DataMember forman parte del contrato de datos.)

  4. Implemente los métodos del contrato de servicios definidos en la interfaz en una clase.

  5. Cree una cola transaccional utilizando System.Messaging. Podría decidir crear la cola utilizando Message Queue Server de Microsoft (MSMQ) Microsoft Management Console (MMC) en su lugar. En ese caso, asegúrese de crear una cola transaccional.

  6. Defina ServiceEndpoint en configuración que especifique la dirección de servicio y utilice el enlace NetMsmqBinding estándar. Sobre Para obtener más información acerca de cómo utilizar la configuración WCF, vea Configuración de aplicaciones de Windows Communication Foundation.

  7. Cree un host para el servicio OrderProcessing utilizando ServiceHost que lea los mensajes de la cola y los procese.

  8. Abra el host del servicio para hacer que el servicio esté disponible.

  9. Cierre el host del servicio.

Para crear un cliente para el servicio en cola

  1. Cree el cliente WCF mediante la herramienta Svcutil.exe.

  2. Defina ServiceEndpoint en configuración que especifique la dirección y utilice el enlace NetMsmqBinding estándar.

  3. Cree un ámbito de la transacción para escribir en la cola transaccional.

  4. Llame a la operación de calculadora.

  5. Cierre el cliente WCF.

Ejemplo

Consulte también

Tareas

Cómo: Intercambiar mensajes con extremos de WCF y aplicaciones de Message Queue Server

Referencia

NetMsmqBinding

Conceptos

Las colas en WCF

Otros recursos

Transacted MSMQ Binding