Nhibernate Session和ASP.NET

时间:2009-12-02 20:37:08

标签: asp.net asp.net-mvc nhibernate isession

使用NhibernateProfiler,我们确定我们正在为每个http请求创建一个ISession。然而,ISessions永远不会关闭。我们可以在日志中看到localSession.Close()触发的位置。我们的配置文件中是否存在导致会话永远不会关闭的内容?是否有任何其他原因localSession.Close()不会物理关闭会话?我们是NHibernate的2.1。

<?xml version="1.0" encoding="utf-8" ?>
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
  <session-factory>
    <property name="connection.provider">JCDCHelper.DAL.Utilities.JCDCConnectionProvider, JCDCHelper.DAL</property>
    <property name="dialect">NHibernate.Dialect.Sybase</property>
    <property name="connection.release_mode">on_close</property>
    <property name="show_sql">true</property>
    <property name="connection.driver_class">JCDCHelper.DAL.Utilities.DataDirectSybaseDriver, JCDCHelper.DAL</property>
    <property name="proxyfactory.factory_class">NHibernate.ByteCode.Castle.ProxyFactoryFactory, NHibernate.ByteCode.Castle</property>
    <property name="connection.connection_string_name">ProdSybase</property>
    <property name="current_session_context_class">web</property>
    </session-factory>
  </hibernate-configuration>

感谢您花时间阅读本文。

1 个答案:

答案 0 :(得分:0)

你在处理ISession吗?将它包装在using语句中?