? He creado un servicio WCF y estoy utilizando el enlace netMsmqBinding.¿Cómo manejo la falla del mensaje en los enlaces de MSMQ para WCF
Este es un servicio simple que pasa un Dto a mi método de servicio y no espera una respuesta. El mensaje se coloca en un MSMQ, y una vez recogido se inserta en una base de datos.
¿Cuál es el mejor método para asegurarse de que no se pierden datos?
He probado los 2 siguientes métodos:
lanzar una excepción
Esto coloca el mensaje en una cola de mensajes para la lectura manual. Puedo procesar este cuando mi strvice comienza
conjunto del receiveRetryCount = "3" en la unión
Después de 3 intentos - que suceden instantanously, esto parece dejar el mensaje en la cola, pero culpa que mi servicio. Reiniciar mi servicio repite este proceso.
Idealmente me gustaría hacer el seguimiento:
proceso de probar el mensaje
- Si esto no funciona, espere 5 minutos para que el mensaje y vuelve a intentarlo.
- Si ese proceso falla 3 veces, mueva el mensaje a la cola de mensajes no entregados.
- Al reiniciar el servicio, todos los mensajes de la cola de mensajes no devueltos volverán a la cola para que puedan procesarse.
¿Se puede lograr esto? ¿Si es así, cómo? ¿Puede indicarme algún artículo bueno sobre la mejor manera de utilizar WCF y MSMQ para mi escena dada?
Cualquier ayuda sería muy apreciada. ¡Gracias!
Alguna información adicional
estoy usando MSMQ 3.0 en Windows XP y Windows Server 2003. Lamentablemente no puedo utilizar el soporte integrado de mensajes dañados dirigido a MSMQ 4.0 y Vista/2008.
Esto se aplica a MSMQ 4.0 no a MSMQ 3.0 – Perhentian