TransactionScope中等信任

时间:2010-02-03 21:17:44

标签: asp.net asp.net-mvc transactionscope

我正在运行一个由Mosso托管的ASP.NET MVC应用程序,有人告诉我他们无法启用DTC,因为它们以中等信任的方式运行所有内容。

因此,当执行引用的代码时:TransactionScope我收到以下错误。事务管理器已禁用其对远程/网络事务的支持。 (HRESULT异常:0x8004D024)

有没有解决这个问题?

1 个答案:

答案 0 :(得分:0)

您使用多个数据上下文吗?在TransactionScope中使用单个数据上下文不应强制将事务提升为分布式事务。如果您使用多个数据上下文,请确保它们共享相同的连接。我认为如果他们共享一个连接,它将获取与范围相关的事务并简单地使用它。如果没有,您可能需要在上下文中明确设置事务。

 using (var ts = new TransactionScope())
 {
      using (var dcOuter = new FooDataContext())
      {
           using (var dcInner = new BarDataContext( foo.Connection ))
           {
              ....
           }
      }
      ts.Complete();
 }