Sr. Rohi Ghatage
получение этой проблемы из-за превышения максимального размера пула.
Примечание: размер пула по умолчанию составляет не более 100 и 15 секунд для таймаута подключения
Чтобы решить эту проблему, проверьте следующие вещи...
1 Вы закрываете соединение после его использования.
Пример:
SqlConnection con= новый SqlConnection(connString);
SqlCommand cmd= new SqlCommand("SELECT * FROM ReatilersDetails", con);
против.Открыть();
SqlDataReader sdr = cmd.Метода executereader();
СДР.Закрывать();
против.Закрывать();
2) явно закройте соединение, когда закончите.
кон.Рядом();
3) используйте соединение в блоке Using.
using(SqlConnection con= new SqlConnection(connString))
{
};
aalhussein
Привет Рохи,
Если я использую слово " использование ", будет ли оно автоматически закрывать соединение после получения данных из БД?
Я отправлю свой код для вашего обзора и буду признателен за ваши комментарии, чтобы улучшить и избежать превышения соединения:
общественная int InsertUpdateDelete(строку в MySQL, словарь и Л;строка, объект=""&ГТ; myPara)
{
int rtn = 0;
используя (sqlcommand, который команду cmd = новый sqlcommand объект(например, кон))
{
УМК.Свойство Commandtype = Значение Commandtype.Текст;
foreach (KeyValuePair<string, object=""> p в myPara)
{
cmd.параметры.AddWithValue(стр. Ключ, С. Значение);
}
использование (con)
{
против.Открыть();
rtn = cmd.Метод executenonquery();
против.Закрывать();
}
}
вернуться Ростехнадзора;
}
getDataSetPassSqlDic публичных данных(строку в MySQL, словарь и Л;строка, объект=""&ГТ; myPara)
{
Набор ДС;
using (SqlConnection cn = new SqlConnection(conStr))
{
используя (sqlcommand, который команду cmd = новый sqlcommand объект(например, СП))
{
foreach (KeyValuePair<string, object=""> p в myPara)
{
cmd.параметры.AddWithValue(стр. Ключ, С. Значение);
}
SqlDataAdapter da = новый SqlDataAdapter(cmd);
ds = новый набор данных();
использование (cn)
{
спицы.Открыть();
да.Заполнить(ДС);
возврат ДС;
}
}
}
}
общественный класс sqldatareader getDrPassSql(строку в MySQL, словарь и Л;строка, объект=""&ГТ; myPara)
{
используя (sqlcommand, который команду cmd = новый sqlcommand объект(например, кон))
{
foreach (KeyValuePair<string, object=""> p в myPara)
{
// можно поставить проверку здесь, чтобы увидеть, является ли значение пустым или нет
cmd.параметры.AddWithValue(стр. Ключ, С. Значение);
}
против.Открыть();
SqlDataReader dr = cmd.ExecuteReader(CommandBehavior.Значение closeconnection);
возвращение доктора;
}
}