Служба WCF работает как WindowsService и каким-то образом переходит в FaultsState - PullRequest
0 голосов
/ 30 октября 2009
  1. Служба WCF, размещенная как служба Windows
    1. Использование привязки netmsmq
    2. MSMQ является транзакционным
    3. Сервер Windows 2003 для размещения
    4. MSMQ 3,0

По какой-то причине возникают исключения, поэтому он помещает сообщение обратно в очередь и пытается выполнить заданное время, а затем переходит в сбойное состояние.

Так каким должен быть механизм для обработки сценариев такого типа?

1 Ответ

1 голос
/ 30 октября 2009

Похоже, вы имеете дело с отравленным сообщением, с которым ваша служба не может справиться. Вам нужно найти способ обнаружить это условие и удалить сообщение из очереди, чтобы система могла продолжить обработку других запросов.

Вы не упоминаете, какие версии WCF и MSMQ вы используете, поскольку существуют различия в том, что WCF предоставляет из коробки для работы с этими условиями. Посмотрите здесь для MSMQ 3.0 и здесь для MSMQ 4.0.

В прошлом я также писал немного бит о теме ядовитых сообщений в моем блоге.

...