我在控制台程序下使用app.config配置成功,但转到ASP。NET下就不行。
参照网上介绍的以下几种方法
1, 作为单独的一节放在相应程序的配置文件中,对于执行文件或类库为文件名称后加.config,对于asp.net则是放在web.config中。这种方式必须在配置文件的configSetions中声明nhibernate的配置节,配置内容由Cfg.Environment类来读取,该类所有成员均为静态的,另外它还定义了配置中key值的常数。(我按此方法使用时,错误提示“未将对象引用设置到对象的实例”)
2. 放在一个单独的配置文件中,默认为hibernate.cfg.xml,使用时必须调用Cfg.Configuration.Config()。如不是默认的配置文件名,还必须指明配置文件名称。这种方式最适合多数据库的情况,可以为每个数据库建立一个配置文件。
(我按此方法使用时,错误提示“无法识别的配置节“configSections”
”)望各位指导指导,最好给出ASP。NET下的源码和配置文件。

解决方案 »

  1.   

    APP.CONFIG 文件内容如下:
    <configuration>
      <configSections>
        <section name="nhibernate" type= "System.Configuration.NameValueSectionHandler,System,Version=1.0.3300.0,Culture=neutral, PublicKeyToken=b77a5c561934e089" />
      </configSections>
      <nhibernate>
        <add key="hibernate.show_sql" value="true" />
        <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="Server=127.0.0.1;initial catalog=OATest;User ID=sa;Password=exceed;Min Pool Size=2" />
      </nhibernate>
    </configuration>
      

  2.   

    http://www.cnblogs.com/jiezhi/archive/2005/01/12/90751.html