Ravendb 具有相同标识符的资源管理器已向指定的事务协调器注册

Ravendb 具有相同标识符的资源管理器已向指定的事务协调器注册,ravendb,nservicebus,Ravendb,Nservicebus,我经常遇到ResourceManager错误。我使用以下代码: publicstaticidocumentstoreinitialize() { 常量字符串id=“2a5434cf-56f6-4b33-9661-5b6cc53bd9a5”; _实例=新文档存储 { Url=”http://localhost:8085", DefaultDatabase=“测试”, ResourceManagerId=新Guid(id) }; _初始化(); 返回_实例; } 以下是调用堆栈: 2015-06-

我经常遇到ResourceManager错误。我使用以下代码:

publicstaticidocumentstoreinitialize()
{
常量字符串id=“2a5434cf-56f6-4b33-9661-5b6cc53bd9a5”;
_实例=新文档存储
{
Url=”http://localhost:8085",
DefaultDatabase=“测试”,
ResourceManagerId=新Guid(id)
};
_初始化();
返回_实例;
}
以下是调用堆栈:

2015-06-04 15:39:08.366 INFO  NServiceBus.Unicast.Transport.TransportReceiver Failed to process message
System.Runtime.InteropServices.COMException (0x8004D102): A resource manager with the same identifier is already registered with the specified transaction coordinator. (Exception from HRESULT: 0x8004D102)
   at System.Transactions.Oletx.IDtcProxyShimFactory.CreateResourceManager(Guid resourceManagerIdentifier, IntPtr managedIdentifier, IResourceManagerShim& resourceManagerShim)
   at System.Transactions.Oletx.OletxResourceManager.get_ResourceManagerShim()
   at System.Transactions.Oletx.OletxResourceManager.EnlistDurable(OletxTransaction oletxTransaction, Boolean canDoSinglePhase, IEnlistmentNotificationInternal enlistmentNotification, EnlistmentOptions enlistmentOptions)
   at System.Transactions.Oletx.OletxTransaction.EnlistDurable(Guid resourceManagerIdentifier, ISinglePhaseNotificationInternal singlePhaseNotification, Boolean canDoSinglePhase, EnlistmentOptions enlistmentOptions)
   at System.Transactions.TransactionStatePromotedBase.EnlistDurable(InternalTransaction tx, Guid resourceManagerIdentifier, IEnlistmentNotification enlistmentNotification, EnlistmentOptions enlistmentOptions, Transaction atomicTransaction)
   at System.Transactions.Transaction.EnlistDurable(Guid resourceManagerIdentifier, IEnlistmentNotification enlistmentNotification, EnlistmentOptionsenlistmentOptions)
   at Raven.Client.Document.InMemoryDocumentSessionOperations.TryEnlistInAmbientTransaction() in c:\Builds\RavenDB-Stable-3.0\Raven.Client.Lightweight\Document\InMemoryDocumentSessionOperations.cs:line 1082
   at Raven.Client.Document.InMemoryDocumentSessionOperations.PrepareForSaveChanges() in c:\Builds\RavenDB-Stable-3.0\Raven.Client.Lightweight\Document\InMemoryDocumentSessionOperations.cs:line 931
   at Raven.Client.Document.DocumentSession.SaveChanges() in c:\Builds\RavenDB-Stable-3.0\Raven.Client.Lightweight\Document\DocumentSession.cs:line 707
   at NServiceBus.RavenDB.SessionManagement.OpenSessionBehavior.Invoke(IncomingContext context, Action next) in c:\BuildAgent\work\c4d62ce02b983878\src\NServiceBus.RavenDB\SessionManagement\OpenSessionBehavior.cs:line 22
   […]

还有其他人遇到过这个问题吗?

以下是我找到的解决方案:


我使用同一个ResourceManagerId为每个端点创建了6个端点。一旦我为每个端点创建了不同的ResourceManagerId(常量guid),这个问题就得到了解决

请任何人都知道这个错误。我被这个错误缠住了。我读了UDIDahan的文章,文章实现了常量resourcemangerid。删除了所有现有的MSMQ文件夹,也删除了现有的Ravendb。重新启动所有新操作,但仍在发送消息时引发此异常