Я использую показанный здесь код для подключения к SQL Server. Это работает правильно, но в течение последних двух дней я столкнулся с проблемой, когда несколько соединений (~ 2000) открываются и не удаляются. Из-за этого загрузка ЦП достигает 100 %, и система не может обработать ни один запрос.
Пожалуйста, помогите и подскажите, делаю ли я что-то не так или как это исправить. р>
DataTable dataTable = new DataTable();
try
{
DataSet dataSet = new DataSet();
using (var command = _dbContext.Database.GetDbConnection().CreateCommand())
{
command.CommandText = "usp_get_userdetails";
command.CommandType = CommandType.StoredProcedure;
if (_dbContext.Database.GetDbConnection().State == ConnectionState.Closed)
{
_dbContext.Database.GetDbConnection().Open();
}
command.Parameters.Add(new SqlParameter("@UserId", userid));
var dataAdapter = new SqlDataAdapter { SelectCommand = (SqlCommand)command };
dataAdapter.Fill(dataSet);
dataTable = dataSet.Tables[0];
}
}
catch (Exception ex)
{
throw ex;
}
return dataTable;
Моя строка подключения выглядит следующим образом:
server=*******;uid=username;pwd=********;database= DBName;connection timeout=0;
Max Pool Size = 1000;Pooling = True;TrustServerCertificate=True; MultipleActiveResultSets=True
Подробнее здесь: https://stackoverflow.com/questions/790 ... gh-ado-net