使用nhibernate的web应用程序架构

时间:2010-12-10 14:05:11

标签: asp.net nhibernate

喜 我正在设计我的第一个asp.net Web应用程序,使用nHibernate作为数据提供者。

我在使用session-per-request模式的Web应用程序中阅读了很多关于nhibernate的内容。 我的应用程序将有几页“监视器”,这意味着它们每隔几秒就会自动更新,以反映最近对数据的更改。 在这种情况下,我的想法是,为每个请求打开一个会话都没有多大意义,因为我知道相同的请求肯定会在几秒钟内完成。

我的想法是,每次会话会话对我来说更有意义,但我很难找到实现的例子。 对于如何实现每次会话的会话以及您可能有的任何其他想法/建议,我感激不尽。

感谢

的Jhonny

2 个答案:

答案 0 :(得分:1)

每次请求会话仍然是一个好主意,因为您不知道,在网络场景中,会话结束时。打开/关闭会话没有太多开销,并且只有在会话处于事务中时才保持打开连接。 ,并且,当会话包装数据库连接时,您只是通过保持会话打开来使用连接池中的连接。

如果您遇到每个会话的会话,请查看NHibernate.Burrow - 这会为您处理所有会话/会话管理内容。

答案 1 :(得分:0)

如果您要使用会话对话,在我看来,对于监控页面,会话将在整个用户会话期间进行。我不建议采用这种方法,因为在这种情况下存在很多问题的机会。我建议打开一个IStatelessSession来更新监视器数据显示,因为这样可以获得短期会话的好处,而不会产生跟踪对象状态的开销。