У меня есть приложение, использующее NServiceBus для обработки сообщений, и во время отладки я обнаруживаю, что могут возникать исключения и сообщение теряется. Я проверил как основную, так и очереди ошибок, и сообщение было предпринято только один раз.
Существуют ли какие-либо распространенные ловушки, которые могут привести к этому?
Я использую NServiceBus 2.0.0.1219 (2.0 RTM) в Windows 7 64 бит. Другой вопрос с той же проблемой на старой версии:
Что может помешать NServiceBus перемещать сообщения в очередь ошибок, если при обработке возникают исключения?
Веб-сайт Bus.Send команда к конечной точке обработчика команд.
Файл конфигурации сайта:
<MsmqTransportConfig InputQueue="WebAppTest_InputQueue" ErrorQueue="ErrorQueue" NumberOfWorkerThreads="1" MaxRetries="5"/>
<UnicastBusConfig ForwardReceivedMessagesTo="AuditQueue">
<MessageEndpointMappings>
<add Messages="ABC.ServiceBus.Commands" Endpoint="CommandProcessor_InputQueue"/>
</MessageEndpointMappings>
</UnicastBusConfig>
<DBSubscriptionStorageConfig>
...
</DBSubscriptionStorageConfig>
Файл конфигурации обработчика команд:
<MsmqTransportConfig InputQueue="CommandProcessor_InputQueue" ErrorQueue="ErrorQueue" NumberOfWorkerThreads="1" MaxRetries="5" />
<UnicastBusConfig ForwardReceivedMessagesTo="AuditQueue">
<MessageEndpointMappings>
<add Messages="ABC.ServiceBus.Commands" Endpoint="WebAppTest_InputQueue"/>
</MessageEndpointMappings>
</UnicastBusConfig>
<DBSubscriptionStorageConfig>
...
</DBSubscriptionStorageConfig>