2009-10-15 52 views
0

我當前正在構建一個遠程對象服務,該服務將公開使用NHibernate的服務器激活對象(每次調用,而不是單例)。我想知道的是,有一種方法可以將Nhibernate Isession綁定到與.httpSession.Context等同的.net遠程程序,即每次調用遠程對象時的ISession。在遠程對象上下文中存儲Nhibernate ISession

我有一種感覺,每線程ISession應該工作(我的遠程對象的每個調用將由不同的線程服務,正確?),但如果任何人都可以擺脫這種情況,我將不勝感激。

回答

0

遠程處理通過CallContext具有線程本地存儲的概念。你可以通過CallContext.SetData()和CallContext.GetData()來訪問它。您需要仔細管理您的ISession,以便您不會打開它...