我正在尝试将 NServiceBus 3.3.5 设置为使用集中式 RavenDB,而不是在每个应用程序服务器上运行 RavenDB。我可以将 NServiceBus.Persistence 与 Windows 用户名/密码一起使用,并且可以正常工作。但是,如果可能的话,我想使用 APIKeys。
作品:
<add name="NServiceBus.Persistence"
connectionString="Url=http://DBServerName:8080;Database=DBName;User=Domain\RavenDBTestUser;Password=**********;" />
不起作用:
<add name="NServiceBus.Persistence"
connectionString="Url = http://DBServerName:8080/; ApiKey = NServiceBusClients/SecretKey; Database = DBName" />
启动服务时出现以下错误(RavenDB 返回 403)...
FATAL 06:32:23 Autofac.Core.DependencyResolutionException: An exception was thrown while invoking the constructor 'Void .ctor(Raven.Client.IDocumentStore)' on type 'RavenTimeoutPersistence'. ---> System.InvalidOperationException ---> System.Net.WebException: The remote server returned an error: (403) Forbidden.
at System.Net.HttpWebRequest.GetResponse()
at Raven.Client.Connection.HttpJsonRequest.ReadStringInternal(Func`1 getResponse) in c:\Builds\RavenDB-Stable\Raven.Client.Lightweight\Connection\HttpJsonRequest.cs:line 279
用户 Domain\RavenDBTestUser 和 api-key 在 RavenDB 中具有相同的访问权限。我已经经历了这个和这个,但那些是从去年年中开始的,大约是 3.2.3 版。3.3.5 中还是一样还是我做错了什么?
PS 连接字符串是从 Raven Studio 复制粘贴的,所以没有错字。