services - Usar los servicios de Windows para procesar mensajes de MSMQ a través de WCF
wcf vs web api (2)
Q1: puede recoger mensajes de MSMQ automáticamente, necesitará buscar en netmsmqbinding, aunque hay algunas consideraciones de diseño en las que debe pensar, si está acostumbrado al MSMQ nativo, sabe que tiene la capacidad de echar un vistazo a los mensajes. Pero cuando usas WCF, pierdes esa capacidad de mirar. WCF interceptará los mensajes en MSMQ y usted es responsable de mantener sincronizados su servicio WCF y la aplicación peeking. También deberá analizar si necesita colas transaccionales o no transaccionales y deberá modificar su encuadernación en función de eso.
P2: Necesitará alojar el servicio WCF en el servicio de Windows o en IIS7. si aloja en IIS7, busque activar el oyente MSMQ WAS
Aquí hay un buen artículo: http://blogs.msdn.com/tomholl/archive/2008/07/12/msmq-wcf-and-iis-getting-them-to-play-nice-part-1.aspx
Tenemos una solución en la que elegimos los mensajes usando el servicio de Windows.
El servicio de Windows se activa cada 2 minutos y recupera el mensaje MSMQ para pasarlo a un servicio web.
- ¿Puedo crear un servicio WCF que recogerá automáticamente los mensajes de MSMQ Queue?
- ¿Puedo evitar el servicio de Windows utilizando el servicio WCF si admite la invocación automática?
Una forma de transferir mensajes de un MSMQ a una llamada de servicio web es usar un punto final del servicio netMsmqBinding y un punto final del cliente basicHttpBinding que soporte el mismo contrato. El servicio netMsmq tomará automáticamente los mensajes de la cola y los deserializará en un objeto. En la implementación de su servicio netMsmq, simplemente instale el proxy del cliente basicHttp y solo llame al mismo método. Básicamente, un patrón proxy o de transferencia desde el servicio web al MSMQ y viceversa. En la "Programación WCF" de Juval Lowy, llama a este patrón el "Puente HTTP" para las colas.