
Best way to manage session in NHibernate?我是NHibernate的新手(我的第一个大型项目)。 这在需要延迟加载的情况下不起作用。 会话管理: http://code.google.com/p/dot-net-reference-app/source/browse/trunk/src/Infrastructure/Impl/HybridSessionBuilder.cs 每个请求的会话: http://code.google.com/p/dot-net-reference-app/source/browse/trunk/src/Infrastructure/Impl/NHibernateSessionModule.cs 查看SummerOfNHibernate网络广播以获取出色的教程...在Webisode 5或6之前,您所需要的只是具体的内容。 让您的整个工作阶段都保持打开状态。如果会话寿命太短,则无法从会话级缓存中受益(这很重要)。任何时候您都可以防止往返数据库节省大量时间。您也不能利用延迟加载,这对于理解至关重要。 如果会话生存期太大,则可能会遇到其他问题。 如果这是一个网络应用程序,则可以使用session-per-httpRequest模式进行处理。基本上,这是一个HttpModule,它在请求开始时打开会话,并在结束时刷新/关闭。确保将会话存储在HttpContext.Items不是静态变量中。 <---导致各种您不想处理的问题。 您也可以在RhinoCommons上找到工作实现单元。 由于您正在开发Web应用程序(大概是使用ASP.NET),因此请在CodeProject上使用ASP.NET查看NHibernate最佳实践。 |