nServiceBus发布未创建消息

nServiceBus发布未创建消息,nservicebus,Nservicebus,我有一个发布消息的WebAPI项目和一个订阅这些消息的主机。这在开发环境中运行良好(在2台机器上测试) 当我们将它部署到测试服务器时,它不起作用。Publish方法调用不会引发任何异常,看起来一切正常,但消息不会添加到消息队列中。我们检查了队列的权限,一切都在测试服务器中设置,就像在我们的开发环境中一样 以下是我们在Web Api中设置总线的方式: Bus = Configure.With() .Log4Net() .DefaultBu

我有一个发布消息的WebAPI项目和一个订阅这些消息的主机。这在开发环境中运行良好(在2台机器上测试)

当我们将它部署到测试服务器时,它不起作用。Publish方法调用不会引发任何异常,看起来一切正常,但消息不会添加到消息队列中。我们检查了队列的权限,一切都在测试服务器中设置,就像在我们的开发环境中一样

以下是我们在Web Api中设置总线的方式:

Bus = Configure.With()
               .Log4Net()
               .DefaultBuilder()
               .UseTransport<Msmq>()
               .UnicastBus()
               .RavenSubscriptionStorage()
               .CreateBus()
               .Start((() => Configure.Instance.ForInstallationOn<Windows>().Install()));
Bus=Configure.With()
.Log4Net()
.DefaultBuilder()
.UseTransport()
.UnicastBus()
.RavenSubscriptionStorage()文件
.CreateBus()
.Start((()=>Configure.Instance.ForInstallationOn().Install());
编辑: 我刚才看到订户没有在RavenDB中注册。publisher表在测试服务器中不包含文档,而在dev计算机中包含对订阅服务器的引用。 知道为什么会发生这种情况以及如何解决吗?

但丁, 订阅者应已随订阅发送控制消息。您也应该在dev系统的日志中看到这一点。然后由发布者存储订阅

你有没有看到收到这封信的记录?它通常类似于“订阅类型”

如果您的发布者收到此消息,但无法连接或找到Raven,则还应记录一些异常

仔细检查您的订阅服务器配置,确保您订阅的类型已映射到正确的发布服务器,并且消息已通过。它可能卡在具有订阅服务器的计算机上的出站队列中

希望这有帮助!

日志里有什么吗?你正在运行哪个版本?.config文件中的订阅服务器映射是否正常?您在TEST/DEV上运行的是什么版本的RavenDB?嗨,Joe,非常感谢您的回复(以及在Twitter上的回复),有了您的解释,我们对它有了更好的理解。我们看到订阅者将消息发布到发布者队列(web api),我们运行web api,消息从队列中消失,但我们没有看到订阅被添加到raven。可能是出版商和raven之间的连接问题?我们必须检查这一点,但两者都在同一台服务器上运行。消息类型是相同的,因为它只在dev中工作。再次感谢您的帮助,我将在进一步调查后更新。已确认。我将发布服务器切换为使用InMemorySubscriptionStorage,消息开始在队列中发布。出于某种原因,发布服务器无法访问Raven,即使它运行在默认的8080端口。干杯