1

我在自己的应用程序中托管 NServiceBus 以充当订阅者。我在解决方案中有 4 个项目: 1. 合同 - 声明事件接口 2. 主机 - 带有 API 的类库以启动总线。3. 处理程序 - 这里实现了事件处理程序。4.控制台应用程序来运行它。

  • 我看到根据我想要的控制台应用程序名称正确设置了端点名称,并相应地创建了队列。
  • 我成功订阅了发布者事件。

问题:当发布者尝试向订阅者发送消息时 - 它尝试发送到根据事件处理程序命名空间而不是端点名称命名的队列。

我得到的例外是发布者找不到订阅者输入队列。

只是为了进行完整性检查,我手动创建了根据处理程序命名空间命名的输入队列,实际上我开始接收事件。

那么,这是 NServiceBus 中的错误还是我错过了一些非常重要的东西?

谢谢....

4

2 回答 2

0

我有一个类似的问题。我重命名了我的端点,但是在调用 Publish() 时它仍在尝试发送到旧队列。我去了 localhost:8080 (RavenDB) 并删除了所有文档和数据库,但仍然遇到同样的问题。重新启动 RavenDB 服务解决了这个问题,所以它必须将它们缓存在内存中或其他东西中。

于 2014-02-26T22:55:53.883 回答
0

我发现了问题,这是我的...

发布者在其 Raven DB 中仍有旧订阅者,因此它尝试将事件也发布到这些不再存在的队列中......

为了让我的生活更轻松,我将订阅配置为使用 MSMQ 存储。

于 2013-02-24T13:36:34.307 回答