我正在运行一个由 Mosso 托管的 ASP.NET MVC 应用程序,有人告诉我他们无法启用 DTC,因为他们以中等信任运行所有内容。
因此,在执行引用的代码时: TransactionScope 我收到以下错误。事务管理器已禁用对远程/网络事务的支持。(来自 HRESULT 的异常:0x8004D024)
有没有办法解决这个问题?
我正在运行一个由 Mosso 托管的 ASP.NET MVC 应用程序,有人告诉我他们无法启用 DTC,因为他们以中等信任运行所有内容。
因此,在执行引用的代码时: TransactionScope 我收到以下错误。事务管理器已禁用对远程/网络事务的支持。(来自 HRESULT 的异常:0x8004D024)
有没有办法解决这个问题?
您是否使用多个数据上下文?在 TransactionScope 中使用单个数据上下文不应强制将事务提升为分布式事务。如果您使用多个数据上下文,请确保它们共享相同的连接。我认为如果他们共享一个连接,它将获取与范围关联的事务并简单地使用它。如果没有,您可能需要在上下文中显式设置事务。
using (var ts = new TransactionScope())
{
using (var dcOuter = new FooDataContext())
{
using (var dcInner = new BarDataContext( foo.Connection ))
{
....
}
}
ts.Complete();
}