gpt4 book ai didi

asp.net - promote 方法仅在 azure 中为分布式事务返回无效值

转载 作者:行者123 更新时间:2023-12-04 11:16:56 27 4
gpt4 key购买 nike

我正在使用 Azure Web App 来托管网站

使用 asp.net 使用 vb.net 和托管在 azure 虚拟机上的 sql server

一个奇怪的错误“promote 方法为分布式事务返回了一个无效值”,网上的信息很少。

我在事务范围中使用它

其中 MainMethod 调用 MethodAMethodB 包裹在 transactionscope 中,每个方法都进一步使用 transactionscope 单独。

我在本地运行时没有遇到错误。

我只在 Azure Web 应用服务中遇到此错误。

非常欢迎任何建议。

最佳答案

该错误表明您的事务正在提升为分布式事务。分布式事务依赖于内部使用 DCOM 协议(protocol)的 MSDTC,而 DCOM 将无法在 Azure Webapps 中运行。如果您在同一 TransactionScope 中打开多个连接 (Connection.open),则 LTM(轻量级事务)将提升为分布式事务。

您可以确保在事务作用域中只打开一个 sqlconnection,或者尝试更改您的代码以使用 SqlTransactions 而不是 TransactionScope 或分布式事务。在某些文章中还提到,如果您在连接字符串中使用 ENLIST=FALSE,则不会提升到 MSDTC,但如果在同一事务范围内打开多个连接,则不确定这是否是可行的解决方案。

也检查这些

关于asp.net - promote 方法仅在 azure 中为分布式事务返回无效值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29574664/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com