2016-04-14 621 views
0

我刚刚将我的ASP.NET Web API应用程序部署到Azure应用程序服务。Promote方法为分布式事务错误返回无效值

升级方法返回了无效值对于分布式 交易

这是我创造的方式,打开连接:

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

保存到数据库中时,我得到这个错误但如果我注释掉connection.Open();,我不会再犯这个错误。谁能解释为什么?

回答

0

该错误表示您的交易正在提升为分布式交易。据我所知,Azure WebApp不支持DCOM(可能是错误的,但看起来问题仍然存在)。 你是否在范围中打开多个sqlconnections?

+0

感谢您的帮助。它发生在嵌套事务和/或sqlconnections ..但正如我所说,问题消失,如果我注释掉connection.Open();这让我担心应该会有什么后果 –

+0

啊,好的。这就是为什么 - 如果你在一个事务范围内打开很多连接,它可以被提升。你可以尝试使用SQLTransaction?我在连接字符串中看到ENLIST = FALSE,但没有自己尝试。我不确定这是否适合生产,但是您能否将其作为测试工作来尝试?如果没有帮助,让我们进一步解决问题。 –