我正在編寫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