2010-09-16 20 views

回答

0

MSDN在這裏可能有點誤導。註冊事件的速度應該至少與獲得虛擬資源管理器一樣快(不是我測試過它)。

事情是,如果你登記,事務將成爲分佈式事務(因爲現在至少有兩個資源管理器參與)。這種事務比較慢(數據庫服務器的IO更多,或者你使用的是什麼)。

你仍然可以嘗試登記的方式。只需執行IEnlistmentNotification並在每種方法中調用enlistment.Done()。您還需要將代碼添加到Commit()方法中。

然後將參考傳遞給交易的EnlistVolatile(..)方法(選項設置爲None)。

+0

如果有多個*持久*資源管理器參與,事務將僅分佈。 'EnlistVolatile'永遠不會促進交易。 – 2014-03-27 01:28:14