Я создал службу WCF и использую привязку netMsmqBinding.Как обрабатывать сбой сообщений в привязках MSMQ для WCF
Это простой сервис, который передает Dto моему методу обслуживания и не ожидает ответа. Сообщение помещается в MSMQ и после этого вставлено в базу данных.
Каков наилучший способ, чтобы данные не терялись.
Я попробовал 2 следующие методы:
Бросьте исключение
Это помещает сообщение в мертвой очереди буквы для ручного прочтении. Я могу обработать это, когда мой strvice начинает
схватываться receiveRetryCount = «3» на связывающие
После 3 попыток - которые происходят instantanously, это, кажется, оставить сообщение в очереди, но вина моей службы. Перезапуск службы повторяет этот процесс.
В идеале я хотел бы сделать следующие файлы:
процесс Try сообщение
- Если это не удается, подождите 5 минут для этого сообщения и повторите попытку.
- Если этот процесс завершился неудачно 3 раза, переместите сообщение в очередь с мертвой буквой.
- Перезапуск службы вытолкнет все сообщения из очереди мертвой буквы обратно в очередь, чтобы ее можно было обработать.
Могу ли я достичь этого? Если да, то как? Можете ли вы указать мне на какие-либо хорошие статьи о том, как лучше всего использовать WCF и MSMQ для моих данных сцен.
Любая помощь будет высоко оценена. Благодаря!
Некоторая дополнительная информация
Я использую MSMQ 3.0 на Windows XP и Windows Server 2003. К сожалению, я не могу использовать встроенную поддержку подозрительных сообщений, ориентированных на MSMQ 4.0 и Vista/2008.
Это относится к MSMQ 4.0, а не MSMQ 3.0 – Perhentian 2011-11-16 12:34:19