public class TextSession
    {
        private const string AssemblyName = "NhibernateDAL";
        public static ISessionFactory factory = null;
        public static ISessionFactory GetFactory()
        {
            if (factory == null)
            {
                Configuration conf = new Configuration();
                conf.AddAssembly(AssemblyName);
                factory = conf.BuildSessionFactory();
            }
            return factory;
        }
        public static ISession GetSession()
        {
            return TextSession.GetFactory().OpenSession();
        }
    }
这是段我在ASP.NET 用Nhibernate做的 获取session  当我在别的地方调用GetSession方法的时候我调试到
ISession session = TextSession.GetSession();
这句时查看session 里面都是什么:由于以前的函数求值超时,函数求值被禁用。必须继续执行才能重新启用函数求值
 //获取users表的所有数据
        public IList GetAll()
        {
            ISession session = TextSession.GetSession();
            
            IList list = new ArrayList()  ;
            try
            {
              ICriteria  cc=session.CreateCriteria(typeof(Users));
              list = cc.List();
            }
            catch (Exception ex)
            {
                System.Diagnostics.Debug.WriteLine(ex);
            }
            return list;
        }

解决方案 »

  1.   

    呵呵  原来是我的
    <nhibernate>
    <add key="hibernate.connection.provider" value="NHibernate.Connection.DriverConnectionProvider"/>
    <add key="hibernate.dialect" value="NHibernate.Dialect.MsSql2000Dialect"/>
    <add key="hibernate.connection.driver_class" value="NHibernate.Driver.SqlClientDriver"/>
    <!--此配置需根据实际情况配置-->
    <add key="hibernate.connection.connection_string" value="Data Source=zhulong\SQLEXPRESS;Database=Text;User ID=sa;Password=123;Trusted_Connection=False"/>
    </nhibernate>
    里面的连接数据库的zhulong\SQLEXPRESS写成zhulong/SQLEXPRESS狂晕中~~~~~~~~~~~~~~~~~~~!!!