代码之家  ›  专栏  ›  技术社区  ›  Jaimal Chohan

[n]休眠会话

  •  0
  • Jaimal Chohan  · 技术社区  · 15 年前

    也许是个愚蠢的问题,但在这个夜晚,斯塔克弗洛夫是我唯一的朋友。

    我在玩nhibernate,想把这两个关于web应用程序会话的声明真实化。

    1)在应用程序的生命周期中,每个数据库只能有一个ISessionFactory。

    2)每个httprequest或一批httprequest只能有一个isession(即对话)

    [我不想推荐工具或框架,只想确认以上内容]

    3 回复  |  直到 15 年前
        1
  •  1
  •   Remi Despres-Smyth    15 年前

    在应用程序的生命周期中,您应该只有一个ISessionFactory。

    每个请求的会话是我如何与nhibernate一起工作的。可能还有其他模式,但这是我在web项目中坚持的模式。

        2
  •  1
  •   Diego Mijelshon    15 年前

    你的假设是正确的。

    每个请求的会话是web应用程序最常见的模式,在mvc、web服务器场等方面表现良好。

    有一些现成的模块可以在 http://unhaddins.googlecode.com/svn/trunk/uNhAddIns/uNhAddIns.Web/ (您也可以检查其他未添加的内容)

        3
  •  0
  •   jishi    15 年前

    我们目前使用每个请求的会话,但是在某些情况下,我遇到了这种方法的问题。

    我不认为答案是通用的,你也应该考虑每个工作单元使用一个会话。

    尤其是当涉及到实体的自动刷新时,每个请求的会话可能会让您感到头疼。