У меня есть служба wcf, которую я размещаю в службе Windows на сервере Windows 2003, который прослушивает очередь MSMQ. Я установил ReceiveRetryCount = 2 для привязки netmsmq. Служба была настроена для использования транзакций ([OperationBehavior (TransactionScopeRequired = true, TransactionAutoComplete = true)]). Служба функционировала отлично.
Мне нужно было отключить транзакции из-за вызова базы данных, который не мог поддерживать MSDTC. Поэтому я переключил свойства сервиса на
[OperationBehavior(TransactionScopeRequired = false)]
Теперь, когда выдается исключение или ошибка, повторных попыток не происходит, обработчик ошибок для службы никогда не срабатывает. Исходное сообщение попадает в системный DLQ. Я хотел бы, чтобы обработчик ошибок обрабатывал ошибки после двух повторных попыток. Есть идеи?