【问题标题】:Extend NHibernate DriverConnectionProvider class扩展 NHibernate DriverConnectionProvider 类
【发布时间】:2015-08-15 08:59:41
【问题描述】:

我正在开发一个旧的网络应用程序。它扩展了 NHibernate 的DriverConnectionProvider 以发出数据库连接。以下是代码。

public class NewConnectionProvider : DriverConnectionProvider
{
   public override System.Data.IDbConnection GetConnection()
   {
        IDbConnection conn = base.GetConnection();       
        //execute a SP here.. to set up proxy user to connect to
        //oracle db
       return conn;
   }

}

 //connection string
<add name="connname" connectionString="Data Source=(DESCRIPTION =(ADDRESS_LIST = (ADDRESS = 
(PROTOCOL = TCP)(HOST = .....)(PORT = ....)))(CONNECT_DATA = (SERVER = DEDICATED)
(SERVICE_NAME = ....)));Min Pool Size=5;Max Pool Size=500;Proxy User Id=....; 
 Proxy Password=.....;Validate Connection=True;Connection Timeout=100;" />

问题:我们遇到的问题是连接数增加到连接字符串的Max Pool Size。有时我们会收到连接超时错误。在这种情况下,连接池如何工作?我还需要覆盖DriverConnectionProvider.CloseConnection 吗?如果是,我什么时候需要打电话?系统使用NHibernate,Oracle 11g。

【问题讨论】:

    标签: c# asp.net-mvc oracle nhibernate


    【解决方案1】:

    似乎连接永远不会关闭。您可能需要实施,

    public void CloseConnection(IDbConnection connection)
    

    在您的 ConnectionProvider 中。 Read more

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-06-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-22
      相关资源
      最近更新 更多