【发布时间】:2014-12-24 09:29:17
【问题描述】:
我在项目中使用 NServiceBus 作为传输层。目前两个端点都在我的本地机器上。我收到以下异常:“合作伙伴事务管理器已禁用其对远程/网络事务的支持。(来自 HRESULT 的异常:0x8004D025)”。
同样,这完全是本地的。我已经阅读了我能找到的所有帖子,他们都说了同样的话,配置 DTC 以允许远程网络 NTC 访问,以及设置“允许入站”和“允许出站”。
我已经把所有的东西都设置好了,不行。我花了很多时间研究这个问题,但无法找到答案。
另一个信息。我在所有 NServiceBus 消息中都遇到了这个问题,但在找到解决方案之前暂时禁用了事务。我当前的问题是我正在使用禁用 NServiceBus 事务的请求/响应范例,但我再次收到错误。
明确一点,禁用事务后,所有其他消息都可以正常工作,但是在这种请求/响应(Send()/Reply())情况下,MSMQ 仍然抛出异常。
希望无论怎样解决这个问题,也能解决最初的问题,但一步一步来。
【问题讨论】:
-
如果我能提供更多细节,或者更好地提出问题,请告诉我。由于某种原因,这个问题在第一分钟内就被否决了,没有关于原因的反馈。
-
是否还涉及数据库等其他事务性资源?
-
除了 RavenDb,NServiceBus 用于订阅和超时,它也是本地的,没有。 Sql Server 根本不参与传输层。只是本地托管的一个 ASP.NET 应用程序中的 Send() 调用,以及另一个本地托管的 ASP.NET 应用程序中的 NServiceBus 消息处理程序中的 Reply() 调用。
-
您是否验证了与 DTCPing 的连接?主机名是否解析等。您确定用于回复的队列是事务性的吗?
-
您自己创建了队列吗?
标签: msmq nservicebus distributed-transactions msdtc