gpt4 book ai didi

c# - 扩展 NHibernate DriverConnectionProvider 类

转载 作者:行者123 更新时间:2023-11-30 18:24:57 25 4
gpt4 key购买 nike

我正在开发一个旧的网络应用程序。它扩展了 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。

最佳答案

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

public void CloseConnection(IDbConnection connection)

在您的 ConnectionProvider 中。 Read more

关于c# - 扩展 NHibernate DriverConnectionProvider 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30581328/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com