2010-08-13 66 views
4

有人能夠解釋NHibernate的CallSessionContext,並將其與ThreadStaticSessionContext對比。NHibernate的CallSessionContext與ThreadStaticSessionContext

我已經能夠找到的最好的交代,已經從NHibernate documentation

  • NHibernate.Context.CallSessionContext-當前會話通過CallContext中跟蹤。您有責任使用 CurrentSessionContext的靜態方法綁定和解除綁定ISession實例 。

  • NHibernate.Context.ThreadStaticSessionContext - 當前會話存儲在線程靜態變量中。此上下文 僅支持一個會話工廠。您負責使用CurrentSessionContext類的靜態方法 綁定和解除綁定ISession實例。

我熟悉WebSessionContext,因爲我平時使用的NHibernate是在Web應用程序。這一次,我正在構建一個WCF服務,並將在IIS中進行託管,並試圖確定哪種ICurrentSessionContext實現更可取。

我想知道在這種特殊情況下(WCF服務)選擇一個vs另一個的含義,以及一般供將來參考的含義。

+0

http://stackoverflow.com/q/6653366/189429 – 2013-05-18 20:49:43

回答

2

NHibernate的3有一個特定的WCF的實現,WcfOperationSessionContext

+0

感謝迭戈。我目前正在使用NHibernate 2.1,但我下載了v3的源代碼,這看起來像我期待的。 我想我會將WcfOperationSessionContext類添加到我們的解決方案中。 因爲我仍然有興趣對CallSessionContext和ThreadStaticSessionContext進行解釋,所以我將暫時解決這個問題。 – 2010-08-16 03:56:12