具有RavenDB api密钥的NServiceBus

具有RavenDB api密钥的NServiceBus,ravendb,nservicebus,nservicebus3,Ravendb,Nservicebus,Nservicebus3,我正在尝试将NServiceBus 3.3.5设置为使用集中式RavenDB,而不是在每个应用服务器上运行RavenDB。我能够使用NServiceBus.Persistence和Windows用户名/密码,并且可以正常工作。但是,如果可能的话,我想使用APIKeys 作品: <add name="NServiceBus.Persistence" connectionString="Url=http://DBServerName:8080;Database=DBName;User

我正在尝试将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=**********;" />
用户域\RavenDBTestUser和api密钥在RavenDB中具有相同的访问权限。我已经通过了,但这些都是从去年中期,约3.2.3版。在3.3.5中还是一样,还是我做错了什么


另外,连接字符串是从Raven Studio复制粘贴的,因此没有输入错误。

NServiceBus v3.3.5仍然使用RavenDb v1,不幸的是,我找不到太多关于Raven v1中APIKeys使用的文档,我唯一发现的是

上面的链接说明您需要“身份验证捆绑包”,您是否安装了该捆绑包

另一方面,NserviceBusV4使用RavendBv2,从阅读来看,设置它应该很容易。
NServiceBus v4 beta版刚刚发布,请参见

我已经计划升级到4.0版,但我不确定它是否正常工作,因为我没有正确设置某些内容,或者它不应该正常工作。这些链接很清楚,它不应该与3.2.3一起工作。我将在未来几天内尝试4.0。谢谢你的回答。如果其他人能确认,我会让它打开。
<add name="NServiceBus.Persistence"
     connectionString="Url = http://DBServerName:8080/; ApiKey = NServiceBusClients/SecretKey; Database = DBName" />
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