我在分佈式事務中使用NServiceBus。通常這很棒。我的信息成功或失敗。全部或沒有。從我的一個實體框架ObjectContexts的分佈式事務中走出來
但是,我也試圖將診斷數據記錄到我的數據庫。這是在一個單獨的ObjectContext上完成的。爲此,無論分佈式事務成功或失敗,我都希望它保存到數據庫。
有沒有辦法讓一個(且只有一個)數據上下文連接到分佈式事務之外的數據庫? (並保持他們的休息?)
我在分佈式事務中使用NServiceBus。通常這很棒。我的信息成功或失敗。全部或沒有。從我的一個實體框架ObjectContexts的分佈式事務中走出來
但是,我也試圖將診斷數據記錄到我的數據庫。這是在一個單獨的ObjectContext上完成的。爲此,無論分佈式事務成功或失敗,我都希望它保存到數據庫。
有沒有辦法讓一個(且只有一個)數據上下文連接到分佈式事務之外的數據庫? (並保持他們的休息?)
試試這個來抑制你的環境分佈式事務審計:
using (new TransactionScope(TransactionScopeOption.Suppress))
{
// Create logging context and audit your data
}
一個選項(如果using3.0)是創建一個UOW:
http://andreasohlund.net/2011/11/21/unit-of-work-in-nservicebus-3-0/
並在那裏抑制交易並做記錄。
NSB有一個內置的方式來做auditing。我建議將其打開並處理另一個端點中的日誌/審計跟蹤。
你可以簡單地在Tx範圍之外(之前)實例化它嗎? – 2012-03-15 15:47:26