我正在编写C#代码,并使用LINQ和一些存储过程,我小心打开和关闭连接,但我不断收到此错误。超时已过期
Timeout expired.
The timeout period elapsed prior to obtaining a connection from the pool.
This may have occurred because all pooled connections were in use and max pool size was reached.
我的代码完美的工作除了这个错误的发生,我能做些什么呢?
感谢您的任何想法。
public static List<int> GetIslemIdleribySPbyCariId(int cariId)
{
string connString = System.Configuration.ConfigurationManager.ConnectionStrings["LocalSqlServer1"].ConnectionString;
SqlConnection sqlConn = new SqlConnection(connString);
sqlConn.Open();
List<int> islemidleri = new List<int>();
islemidleri.Clear();
SqlCommand cmd;
cmd = new SqlCommand("GetIslemIdleri", sqlConn);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add(new SqlParameter("@CARIID", cariId));
using (var reader = cmd.ExecuteReader())
{
while (reader.Read())
{
islemidleri.Add(reader.GetInt32(0));
}
cmd.Parameters.Clear();
}
sqlConn.Close();
return islemidleri;
}
/// <summary>
/// SP kullanarak dovizturlerini döndürür
/// </summary>
/// <returns>string listesi döndürür için döviz türleri var TL, USD vs.</returns>
public static List<string> GetDovizTurleribySP()
{
string connString = System.Configuration.ConfigurationManager.ConnectionStrings["LocalSqlServer1"].ConnectionString;
SqlConnection sqlConn = new SqlConnection(connString);
sqlConn.Open();
List<string> dovizTanimlari = new List<string>();
string commandGetDovizTanimlari = "EXEC GetDovizTanimlari";
SqlCommand cmd;
cmd = new SqlCommand(commandGetDovizTanimlari, sqlConn);
using (var reader = cmd.ExecuteReader())
{
while (reader.Read())
{
dovizTanimlari.Add(reader.GetString(0));
}
}
return dovizTanimlari;
}
你能展示一些代码来演示你如何管理连接吗? – 2011-03-28 14:00:46
@Chris Taylor我刚刚添加了一些代码Mr.Taylor。 – Bastardo 2011-03-28 14:08:42