NServiceBus 3.2 示例问题

2024-06-05

我正在尝试运行 AsyncPages 的 NServiceBus 示例。看起来很简单。

  1. 从 NServiceBus.com 下载最新版本
  2. 执行bat文件来安装先决条件
  3. 打开解决方案
  4. Press F5
  5. 在文本框中输入数字

当我这样做时,我遇到了一个令人讨厌的 RavenDB bug(NServiceBus 使用它作为数据存储)。

Exception when starting endpoint, error has been logged. Reason: There is no index named: dynamic/TimeoutData

看来RavenDB没有或者不能创建索引。不确定这是 RavenDB 错误还是 NServiceBus 错误,但它使我无法运行示例。

提前致谢

Update:

当按照 Andreas 的建议升级到版本 3.2.1 时。

Exception when starting endpoint, error has been logged. Reason: An exception was thrown while invoking the constructor 'Void .ctor(Raven.Client.IDocumentStore)' on type 'RavenTimeoutPersistence'.

我现在还注意到示例和 TopShelf 存在问题。他们在 topshelf 中托管引用的是 NServiceBus 3.2.0 版本,而不是 3.2.1。

到目前为止,这并不是一次有趣的经历,但也许我应该放弃样本并直接投入到某些事情中。


我一直在努力解决同样的问题 - 结果发现 NServiceBus 在连接到 RavenDB 时出现问题。

RunMeFirst.bat 尝试进行配置,但显然并不总是成功。

就我而言,我安装了 RavenDB,但没有安装在 NServiceBus 期望的标准端口 8080 上。检查 Raven 安装文件夹中的 Raven.Server.exe.config(默认为 C:\RavenDB\RavenDB.0.0.0\RavenDB.Server)。应该定义端口号。如果不同,您可以通过在 web.config 或 app.config 中添加来覆盖 NServiceBus 默认连接字符串到 RavenDB:

<connectionStrings>
    <add name="NServiceBus.Persistence" connectionString="Url=http://localhost:8081;" />
</connectionStrings>

其中 8081 是示例不同的 RavenDB 连接端口。

其他可能出现问题的事情是您的 RavenDB 与使用端口 8080 的其他服务发生冲突,要解决此问题,您可以更改 Raven 配置中的端口号并添加自定义连接字符串。

希望有帮助, 干杯

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

NServiceBus 3.2 示例问题 的相关文章