2010-03-29 126 views
0

一个愚蠢的问题,也许,但在这个夜晚的时候,StackOverFlow是我唯一的朋友。[N]休眠会话

我在玩NHibernate,并想要在Web应用程序中将这两个关于Sessions的陈述事实化。

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

2)您应该只有每个的HttpRequest或批处理HTTPRequests的(即通话1周的Isession)

[我不想工具或框架的建议,只是想确认上述]

回答

1

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

Session-per-request是我如何使用NHibernate。可能有其他模式,但这是我在我的Web项目中坚持的模式。

0

我们目前使用Session-per-Request,但是在某些情况下,我遇到了这种方法的问题。

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

特别是当涉及到实体的automagic刷新时,每个请求的Session可能会让你陷入屁股。