Wcf NHibernate CallSessionContext与ThreadStaticSessionContext

Wcf NHibernate CallSessionContext与ThreadStaticSessionContext,wcf,nhibernate,Wcf,Nhibernate,有人能够解释NHibernate的CallSessionContext,并将其与ThreadStaticSessionContext进行对比 我能找到的最好的解释是: NHibernate.Context.CallSessionContext-当前会话由CallContext跟踪。你有责任 绑定和解除绑定ISession实例 使用类的静态方法 CurrentSessionContext NHibernate.Context.ThreadStaticSessionContext-当前会话存储在线

有人能够解释NHibernate的CallSessionContext,并将其与ThreadStaticSessionContext进行对比

我能找到的最好的解释是:

  • NHibernate.Context.CallSessionContext-当前会话由CallContext跟踪。你有责任 绑定和解除绑定ISession实例 使用类的静态方法 CurrentSessionContext

  • NHibernate.Context.ThreadStaticSessionContext-当前会话存储在线程静态变量中。这一背景 仅支持一个会话工厂。你 负责绑定和解除绑定 使用静态方法的ISession实例 CurrentSessionContext类的

我熟悉WebSessionContext,因为我通常在web应用程序中使用NHibernate。这一次,我正在构建一个WCF服务,该服务将托管在IIS中,并试图确定哪个ICurrentSessionContext实现更可取


我想知道在这种情况下(WCF服务)和一般情况下,选择其中一种服务与另一种服务的区别,以供将来参考

NHibernate 3有一个特定于WCF的实现,
wcfoOperationSessionContext

谢谢Diego。我目前正在使用NHibernate2.1,但我下载了v3的源代码,这看起来就像我所希望的。我想我会将wcfoOperationSessionContext类添加到我们的解决方案中。我将暂时不回答这个问题,因为我仍然有兴趣解释CallSessionContext和ThreadStaticSessionContext。