0
我運行一個ASP.NET MVC應用程序託管與Mosso,有告訴我,他們不能啓用DTC,因爲他們在中等信任運行的一切。TransactionScope在一箇中等信任
所以當執行引用代碼時:TransactionScope我得到以下錯誤。事務管理器已經禁用了對遠程/網絡事務的支持。 (來自HRESULT的異常:0x8004D024)
有沒有辦法解決這個問題?
我運行一個ASP.NET MVC應用程序託管與Mosso,有告訴我,他們不能啓用DTC,因爲他們在中等信任運行的一切。TransactionScope在一箇中等信任
所以當執行引用代碼時:TransactionScope我得到以下錯誤。事務管理器已經禁用了對遠程/網絡事務的支持。 (來自HRESULT的異常:0x8004D024)
有沒有辦法解決這個問題?
您是否使用多個數據上下文?在TransactionScope中使用單個數據上下文不應強制將事務提升爲分佈式事務。如果您使用多個數據上下文,請確保它們共享相同的連接。我會認爲,如果他們共享一個連接,它會拿起與範圍相關的事務並簡單地使用它。如果沒有,您可能需要在上下文中顯式設置事務。
using (var ts = new TransactionScope())
{
using (var dcOuter = new FooDataContext())
{
using (var dcInner = new BarDataContext(foo.Connection))
{
....
}
}
ts.Complete();
}
我不使用多個dataContexts,只是試圖運行下面的代碼: 使用(TransactionScope的範圍=新的TransactionScope(TransactionScopeOption.RequiresNew,TransactionTimeOut)){ 嘗試 { // 肉交易... } catch(Exception ex) { throw ex; } Scope.Complete(); } – 2010-02-03 21:57:47
我認爲它必須做的:http://stackoverflow.com/questions/794364/how-do-i-use-transactionscope-in-c 由於mosso是中等信任我不認爲他們將啓用'網絡DTC訪問'。 還有其他想法嗎? – 2010-02-03 22:00:42