Я понимаю разницу между «Очередь мертвой буквы» и «Ядовитая очередь». Я буду говорить в контексте транзакций и долговечности.Очередь очереди мертвых букв и ящики отражений
DLQ: Клиент отправляет сообщение. MSMQ не может доставить сообщение. Сообщение остается в очереди, ожидая отправки в очередь назначения.
PQ: Сообщение успешно доставлено. Служба WCF обрабатывает сообщение. В ходе операций WCF произошла некоторая ошибка. Сообщение помещается в очередь ядов.
(пожалуйста, поправьте меня, если я ошибаюсь выше)
Теперь, если WCF Service обнаруживает ошибку, и с объемом сделки на месте (атрибут), то как это поместить сообщение в очереди ядовитой или это необходимо разработать? если он нуждается в разработке, то как это делается? А как насчет обработки ядовитых сообщений? Есть ли способ вернуть их обратно в очередь для обработки? Как определяется, является ли сообщение ядом? Например, операция в WCF может столкнуться с ошибкой, но может оправиться от нее.
Я прочитал это, но в образцах, предоставленных MSDN, я не смог увидеть это поведение. infact при следующем запуске службы на стороне сервера, он не обработает никаких новых или старых сообщений в очереди. Итак, на стороне сервера я добавил код для исключения. Я вижу сообщение все еще в очереди. В следующий раз я отправлю сообщение с клиента - сервер его не получит, но он находится в MSMQ. –