【问题标题】:WCF + NHibernate + ISession =?WCF + NHibernate + ISession =?
【发布时间】:2010-09-22 17:50:48
【问题描述】:

我是 WCF 和 NHibernate 的初学者。 但是,我必须做一个涉及多个服务(使用 WCF 制作)和一个持久层(使用 NHibernate 制作)的小项目。

我的问题是关于 ISession 和 ISessionFactory 的使用。 我已经阅读(并看到) ISessionFactory 的实例化非常繁重(并且是线程安全的)。所以,我认为我只能在应用程序运行时实例化这个类一次。我是对的?

我的问题更多涉及 ISession 类。我不完全知道我必须在哪个粒度上使用它。我认为我应该为每次调用服务操作使用/创建一个实例(我使用“每次调用服务”)。再说一遍,我是对的吗?

【问题讨论】:

标签: wcf nhibernate


【解决方案1】:

你是正确的。会话工厂的构建成本很高,非常适合作为单例,而会话是包装“工作单元”的更轻量级的上下文对象。

要了解更多信息,您可以阅读城堡 WCF 设施,该设施提出了解决此问题的方案。这是一个探索它的blog post

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-01-15
    • 1970-01-01
    • 1970-01-01
    • 2010-10-01
    • 2010-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多