2008-12-11 139 views
32

我一直在閱讀Nhibernate一段時間,並一直在嘗試將它用於我正在實施的網站。我讀了關於NHibernate最佳實踐的the article by Billy McCafferty,但我沒有看到任何跡象表明哪裏是處理交易的最佳位置。NHibernate交易最佳實踐

我想將該代碼放入數據訪問對象(DAO),但我不知道如何處理使用多個DAO的情況。將事務代碼放入NHibernate應用程序的最佳位置是什麼?

回答

10

這真的取決於你的環境。例如,我們在ASP.Net站點上使用Open-Session-In-View(Java鏈接,但模式與.Net相同)模式,並使用HttpModule來控制會話和事務。 HttpModule打開會話並在BeginRequest事件中啓動事務,然後提交事務並在EndRequest事件中關閉會話。

不同的環境和通信模式將導致不同的會話/事務管理策略。

關於NHibernate Users Group以及在網絡上的各種策略有很多討論。