我在我自己的应用程序中托管NServiceBus作为订阅者。 我在解决方案中有4个项目: 1.合同 - 声明事件接口 2.使用API启动总线的主机类库。 3.处理程序 - 这里实现了事件处理程序。 4.控制台应用程序以运行它。
问题: 当发布者尝试向订阅者发送消息时 - 它会尝试发送到根据事件处理程序命名空间而不是端点名称命名的队列。
我得到的例外是发布者找不到订阅者输入队列。
为了进行健全性检查,我手动创建了根据处理程序命名空间命名的输入队列,实际上我开始接收事件。
那么,这是NServiceBus中的一个错误还是我错过了一些非常关键的东西?
...谢谢
答案 0 :(得分:0)
我发现了问题,这是我的......
发布商仍然在其Raven DB中拥有旧订阅者,因此它尝试将这些事件也发布到这些不再存在的队列中......
为了让我的生活更轻松,我将订阅配置为使用MSMQ存储。
答案 1 :(得分:0)
我有类似的问题。我重命名了我的端点但是在调用Publish()时它仍然试图发送到旧队列。我去了localhost:8080(RavenDB)并删除了所有文档和数据库,但仍然遇到了同样的问题。重新启动RavenDB服务解决了这个问题,所以它必须将它们缓存在内存或其他东西中。