Как остановить функции класса ASP.NET, C #, выбрасывающие исключение Соединение не закрыто до того, как оператор using создаст экземпляр соединения?Это происходит при отладке в сообществе Visual Studio 2019.
1. Снятие отметки «Просто мой код» в настройках отладки 2. Добавление «Наконец-то {conn.Close ()}» во вложенное выражение с помощью оператора 3. Удалениеtry / catch из using оператор 4. Проверка всех методов и функций, вызываемых до того, как функция выдает ошибку для искаженного синтаксиса или кода
/// <summary>
/// Gets all colleges currently in db
/// </summary>
/// <returns>College object list</returns>
public List<College> getAllColleges()
{
List<College> allColleges = new List<College>();
using (SqlConnection conn = new SqlConnection(DbHelper.ConnectionString))
{
using (SqlCommand cmd = new SqlCommand("getAllColleges", conn))
{
cmd.CommandType = CommandType.StoredProcedure;
conn.Open();
try
{
SqlDataReader dr = cmd.ExecuteReader();
while (dr.Read())
{
//once the college code is known, get college specific information
College c = new College();
c = getCollegeByColCode(dr["col"].ToString());
allColleges.Add(c);
}
}
catch (Exception e)
{ throw e; }
}
}
//order list by college name
allColleges.OrderBy(o => o.colFullName).ToList();
return allColleges;
}
ОШИБКА ПОСЛЕ ОТКРЫТОГО СПИСКА allColleges СПИСОК, НО ПЕРЕД ИСПОЛЬЗОВАНИЕМ СОСТОЯНИЯ
Соединение не было закрыто.Текущее состояние соединения открыто.Описание: во время выполнения текущего веб-запроса произошло необработанное исключение.Пожалуйста, просмотрите трассировку стека для получения дополнительной информации об ошибке и о том, где она возникла в коде.
Сведения об исключении: System.InvalidOperationException: Соединение не было закрыто.Текущее состояние соединения открыто.
Ошибка источника:
Строка 115: {Строка 116:
Строка 117: список колледжей = новый список ();Строка 118: использование (SqlConnection conn = new SqlConnection (DbHelper.ConnectionString)) Строка 119: {
Исходный файл: C: _dev \ SNQProject \ SNQLibrary \ SNQLibrary \ Classes \ College.cs Строка: 117
Трассировка стека:
[InvalidOperationException: Соединение не было закрыто.Текущее состояние соединения открыто.] SNQLibrary.Classes.College.getAllColleges () в C: _dev \ SNQProject \ SNQLibrary \ SNQLibrary \ Classes \ College.cs: 117 Admin_SNQAdmin.buildCollegeSelect (String colCode) в c: _dev \ SNQ \ Admin\ SNQAdmin.master.cs: 191 Admin_Default.finalizeLogIn () в c: _dev \ SNQ \ Admin \ Default.aspx.cs: 135 Admin_Default.btnLogin_Click (Отправитель объекта, EventArgs e) в c: _dev \ SNQ \ Admin \ Default.aspx.cs: 98 System.Web.UI.WebControls.Button.OnClick (EventArgs e) +11758848 System.Web.UI.WebControls.Button.RaisePostBackEvent (String eventArgument) +150 System.Web.UI.Page.ProcessRequestMain (BooleanincludeStagesBeforeAsyncPoint, логическое значение includeStagesAfterAsyncPoint) + 5028