【问题标题】:Promote Method returned an invalid Value for the Distributed transaction error对于分布式事务错误,Promote 方法返回了无效值
【发布时间】:2016-04-14 12:32:36
【问题描述】:

我刚刚将我的 ASP.NET Web API 应用程序部署到 Azure 应用程序服务。保存到 db 时出现此错误:

Promote 方法为分布式返回了无效值 交易

这是我创建和打开连接的方式:

            var connection = new SqlConnection(connstr);
            connection.Open();

但如果我注释掉 connection.Open();,我将不再收到该错误。谁能解释一下为什么?

【问题讨论】:

    标签: c# asp.net azure


    【解决方案1】:

    该错误意味着您的事务正在升级为分布式事务。据我所知,Azure WebApp 不支持 DCOM(可能是错误的,但看起来问题仍然存在)。 是否打开范围内的多个sqlconnections?

    【讨论】:

    • 感谢您的帮助。它发生在嵌套事务和/或sqlconnections期间。但就像我提到的,如果我注释掉connection.Open(),问题就会消失;这让我担心是否会产生任何影响
    • 啊,好的。这就是为什么 - 如果您在一个事务范围内打开大量连接,它可以被提升。您可以尝试使用 SQLTransaction 吗?我在连接字符串中看到了 ENLIST=FALSE,但没有自己尝试。我不确定这是否适用于生产,但您能否将其作为测试工作进行尝试?如果这没有帮助,让我们进一步排除故障。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-10-23
    • 2014-06-09
    • 2012-12-23
    • 2021-07-15
    • 1970-01-01
    • 1970-01-01
    • 2014-09-19
    相关资源
    最近更新 更多