WCF + NHibernate + ISession =?

6
我是一个WCF和NHibernate的初学者。 然而,我必须做一个涉及几个服务(使用WCF制作)和持久层(使用NHibernate制作)的小项目。
我的问题涉及ISession和ISessionFactory的使用。 我读过(并看到)ISessionFactory的实例化非常耗费资源(并且线程安全)。因此,我认为在应用程序运行时只需要实例化一次这个类。我是对的吗?
我的问题更多地涉及ISession类。我不确定我应该以哪种粒度使用它。我认为我应该为每个调用服务操作创建/使用一个实例(我使用“每次调用服务”)。我再次正确吗?

这是我描述此内容的帖子 https://dev59.com/cVXTa4cB1Zd3GeqP13Zm#15451070 - szkra
1个回答

5
你说得很对。会话工厂构造成本高昂,非常适合作为单例使用,而会话是一个更轻量级的上下文对象,包装了“工作单元”。
要了解更多信息,可以阅读关于城堡WCF设施提出的解决方案。这里有一篇探讨它的博客文章

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接