Pra*_*nth 2 linq asp.net sql-server-2008 azure-web-sites
我使用Azure Web App来托管该站点
使用vb.net和sql服务器在aspure vm上托管的asp.net
一个奇怪的错误"提升方法为分布式事务返回了一个无效值",并且很少有关于Web的信息.
我在事务范围内使用它
其中MainMethod调用MethodA和MethodB包装在transactioncope中,每个方法都进一步单独使用transactionscope.
我没有在本地运行错误.
我只在Azure Web App服务中收到此错误.
任何建议都非常欢迎.
该错误表示您的事务正在升级为分布式事务.分布式事务依赖于MSDTC,它在内部使用DCOM协议,而DCOM在Azure Webapps中不起作用.如果在同一TransactionScope中打开多个连接(Connection.open),LTM(轻量级事务)将被提升为分布式事务.
您可以确保在transactioncope中只打开一个sqlconnection,或者尝试更改代码以使用SqlTransactions而不是TransactionScope或分布式事务.在一些文章中还提到,如果你ENLIST=FALSE在连接字符串中使用,那么提升到MSDTC不会发生但不确定如果在同一事务范围内打开多个连接,那是否是可行的解决方案.
还要检查这些