我正在编写 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;
}