0

我正在开发一个使用 NServiceBus 的 web api 项目。每次我启动我的 NserviceBus 主机时,调试过程都会中断,我会收到“无可用源”消息,我无法弄清楚发生了什么。我可以从我的 api 项目发送消息,主机将通过简单地继续跳过错误来接收它,但每次我启动主机时都会收到该消息。

我的 nservicebus 配置:

        // nservicebus configuration
        Configure.WithWeb()
                 .DefaultBuilder()
                 .ForWebApi()
                 .Log4Net()
                 .XmlSerializer()
                 .MsmqSubscriptionStorage()
                 .MsmqTransport()
                     .IsTransactional(false)
                     .PurgeOnStartup(false)
                 .UnicastBus()
                    .ImpersonateSender(false)
                 .CreateBus()
                 .Start(() => Configure.Instance.ForInstallationOn<NServiceBus.Installation.Environments.Windows>().Install());

我的 web.config:

<configSections>
<section name="MsmqTransportConfig" type="NServiceBus.Config.MsmqTransportConfig, NServiceBus.Core" />
<section name="UnicastBusConfig" type="NServiceBus.Config.UnicastBusConfig, NServiceBus.Core" />
</configSections>

<MsmqTransportConfig ErrorQueue="Error" NumberOfWorkerThreads="1" MaxRetries="5" />
<UnicastBusConfig>
<MessageEndpointMappings>
  <add Messages="Messages" Endpoint="Domain" />
</MessageEndpointMappings>
</UnicastBusConfig>

app.config:

<configSections>
<section name="MsmqTransportConfig" type="NServiceBus.Config.MsmqTransportConfig, NServiceBus.Core" />
<section name="MessageForwardingInCaseOfFaultConfig" type="NServiceBus.Config.MessageForwardingInCaseOfFaultConfig, NServiceBus.Core" />
</configSections>
<MsmqTransportConfig ErrorQueue="error" NumberOfWorkerThreads="1" MaxRetries="5" />
<MessageForwardingInCaseOfFaultConfig ErrorQueue="error" />

我的处理程序实现了 IHandleMessages,当我继续通过错误消息时,它似乎处理了消息,并且端点被配置为服务器。当 NServiceBus 的控制台窗口出现时,如果队列中已有消息,我会收到错误消息,告诉我端点未配置为发布者。

我正在使用 NServiceBus 3.0.0。

感谢您的任何意见。

4

0 回答 0