【问题标题】:The partner transaction manager has disabled its support for remote/network transactions. (Exception from HRESULT: 0x8004D025)合作伙伴事务管理器已禁用其对远程/网络事务的支持。 (来自 HRESULT 的异常:0x8004D025)
【发布时间】: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


【解决方案1】:

我解决了这个问题。原因是我禁用了交易。重新启用事务后,问题已解决。此外,在我研究这个问题的过程中,我想出了如何解决最初导致我禁用交易的问题。

【讨论】:

  • “另外,在我研究这个问题的过程中,我想出了如何解决最初导致我禁用事务的问题。”我知道这是事件发生后的相当长的一段时间 - 但您有没有机会详细说明最初的错误解决方案?我也面临同样的问题...
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-04-25
  • 2021-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多