NServiceBus订阅服务器在服务器上失败

NServiceBus订阅服务器在服务器上失败,nservicebus,publish-subscribe,Nservicebus,Publish Subscribe,我有一个相当简单的发布/订阅设置,在我们的开发人员机器上运行良好,但当我部署到测试服务器时,它会对所有消息抛出此错误: System.NullReferenceException: Object reference not set to an instance of an object. at NServiceBus.Unicast.UnicastBus.HandleTransportMessage(IBuilder childBuilder, TransportMessage msg)

我有一个相当简单的发布/订阅设置,在我们的开发人员机器上运行良好,但当我部署到测试服务器时,它会对所有消息抛出此错误:

System.NullReferenceException: Object reference not set to an instance of an object.
   at NServiceBus.Unicast.UnicastBus.HandleTransportMessage(IBuilder childBuilder, TransportMessage msg) in c:\BuildAgent\work\nsb.master_6\src\unicast\NServiceBus.Unicast\UnicastBus.cs:line 1328
   at NServiceBus.Unicast.UnicastBus.TransportMessageReceived(Object sender, TransportMessageReceivedEventArgs e) in c:\BuildAgent\work\nsb.master_6\src\unicast\NServiceBus.Unicast\UnicastBus.cs:line 1247
   at System.EventHandler`1.Invoke(Object sender, TEventArgs e)
   at NServiceBus.Unicast.Transport.Transactional.TransactionalTransport.OnTransportMessageReceived(TransportMessage msg) in c:\BuildAgent\work\nsb.master_6\src\impl\unicast\transport\NServiceBus.Unicast.Transport.Transactional\TransactionalTransport.cs:line 480
我们已经准备好在同一台服务器上运行其他SendOnly、Distributor和Worker,因此应该正确安装msmq等这是我们第一次在这些服务器上使用Pub/Sub。

如果我在开发人员机器上使用完全相同的二进制文件和配置,那么它运行起来会很平稳,但在2008R2、Powershell V3等服务器上则不会

我们正在为订阅服务器使用流畅的配置:

    return NServiceBus.Configure.With()
        .DefineEndpointName(queuePrefix)
        .Log4Net(_serviceBusLog.Build())
        .StructureMapBuilder()
        .JsonSerializer()
        .License(ConfigTable.GetConfigString(ConfigTableKeys.NServiceBus, "License"))
        .MsmqTransport()
        .IsTransactional(true)
        .RunTimeoutManagerWithInMemoryPersistence()
        .EnablePerformanceCounters()
        .UnicastBus()
        .CreateBus()
        .Start(() => NServiceBus.Configure.Instance.ForInstallationOn<NServiceBus.Installation.Environments.Windows>().Install());
返回NServiceBus.Configure.With()
.DefineEndpointName(队列前缀)
.Log4Net(_serviceBusLog.Build())
.StructureMapBuilder()
.JsonSerializer()
.License(ConfigTable.GetConfigString(ConfigTableKeys.NServiceBus,“许可证”))
.MsmqTransport()
.IsTransaction(真)
.RunTimeoutManagerWithInMemoryPersistence()
.EnablePerformanceCounters()
.UnicastBus()
.CreateBus()
.Start(()=>NServiceBus.Configure.Instance.ForInstallationOn().Install());
我们还有自己的UnicastBus配置,它扫描消息处理程序(它们是消息类型),然后自动创建端点映射。这是我第一个担心的问题,所以我禁用了它,并使用app.config方法设置端点,但错误仍然发生

请注意每条消息的错误occours。 注意,我们正在运行NSB的3.3.5版

我仍然在跟踪服务器设置,因为我相信一定有一些不同,使它滴答作响,但我还没有找到它

有人对要寻找什么有什么建议吗


好心的问候

看来我发现了错误

在服务器上测试了一个原始的简单控制台Pub/Sub之后,我在处理程序中添加了一个try-catch并捕获了。。。我自己的例外

我被缠住了

但是,异常似乎没有正确地转发到NSB中的日志,因此我完全摆脱了真正的问题

我不知道这是否是在NSB的更高版本中修复的,但我希望如此。 在此之前,我使用自己的try-catch逻辑添加自定义日志条目


亲切问候。

这似乎是一个双重帖子(见),在雅虎邮件列表中回答,但它还没有解决:)。我只是想通过在两个论坛上发帖来达到尽可能广泛的受众,因为问题相当严重:)。失败的是出版商,还是订阅者?是订阅者。