2013-07-16 47 views
0

我有一个非常简单的发布/订阅设置,其中访问我们的开发机器工作正常,但是当我部署到我们的测试serveres它抛出这个错误的所有消息:NServiceBus用户没有在服务器上

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,经销商和工作在同一台服务器上的工作人员,所以应该正确安装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()); 

我们也有我们自己的UnicastBus config的扫描消息处理程序(它们是消息类型),然后自动创建端点映射。这是我首先关心的问题,所以我禁用了它,并使用app.config设置端点的方式,但仍然出现错误。

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

我仍然在运行服务器设置,因为我相信必须有一些差异才能打勾,但我还没有找到它。

任何人有什么建议,以寻找什么?

亲切的问候

+0

这似乎是一个双重职位(请参阅http://tech.groups.yahoo.com/group/nservicebus/message/19858),在雅虎邮件列表 –

+0

回答但它尚未解决:)。我只是想通过发布在2个论坛上达到最广泛的受众,因为问题是相当严重的:)。 –

+1

是发布商失败还是订阅者? –

回答

0

看来我发现了错误。

在服务器上测试原始简单的控制台的Pub/Sub后,我在处理程序中添加了一个尝试捕捉和抓住了......我自己的异常....

林embrassed。

但它似乎没有正确转发到NSB中的日志,因此我完全抛弃了真正的问题。

我不知道这是否是在NSB的更高版本中修复的,但我希望如此。 直到那时我使用我自己的尝试抓住逻辑来添加自定义日志条目。

亲切的问候。

相关问题