我正在开发一个托管在 IIS 服务器上的 asp.net 应用程序。要打开连接,我使用:
SqlConnection con = new SqlConnection("Server = INLD50045747A\\SQLEXPRESS;
Database = MyDatabase;User ID = sa; Password = Welcome1; Trusted_Connection = False;");
con.Open();
是否可以将此连接字符串存储在某处,以便我不需要在每个 aspx.cs 文件中写入?我正在使用 MSSQL 数据库。
我面临的一个问题是:
从池中获取连接之前超时时间已过。发生这种情况的原因可能是所有池连接都在使用中并且已达到最大池大小
我在某处读到要求我将最大连接池增加到 100。这会影响我的应用程序的性能吗?
您可能没有正确关闭打开的连接。
增加“水池大小”就像在瀑布下放一个更大的水桶一样——会有帮助,但效果不大。
尝试找到发生类似情况的区域:
con.Open();
如果它不在 try/catch 中,请确保它在一个 try/catch 中,并且包含一个 finally 语句。
try {
con.Open();
//several other data base releated
//activities
} catch (Exception ex) {
// do something
} finally {
con.Close();
}
另外,为了避免使用finally
块中,您可以将 SqlConnection 包装在 using 语句中。
using (SqlConnection conn = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["yourKey"].ConnectionString))
{
// write your code here
}
关于您关于连接字符串的问题,是的,将其存储在您的 web.config 中
<connectionStrings>
<add name="name" connectionString="Data Source=;Initial Catalog=;User ID=sa;password=;Persist Security Info=True;Connection TimeOut=20; Pooling=true;Max Pool Size=500;Min Pool Size=1" providerName="System.Data.SqlClient"/>
</connectionStrings>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)