Соединение не было закрыто. Текущее состояние соединения открыто.C#

Место общения программистов C#
Anonymous
Соединение не было закрыто. Текущее состояние соединения открыто.

Сообщение Anonymous »

Я пишу приложение ASP.NET. На моем уровне данных соединение sql открывается и закрывается до и после запроса. SqlConnection сохраняется как частное поле одного класса. Каждый вызов базы данных в классе использует одну и ту же структуру:

Код: Выделить всё

        conn.Open();

try
{
// database querying here
}
finally
{
conn.Close();
}
Тем не менее, в очень редких случаях я получаю исключение «Соединение не было закрыто». Текущее состояние соединения открыто». Воспроизвести проблему невозможно, поскольку она очень редко возникает из разных частей кода. В моем приложении задействованы некоторые потоки, но новые потоки также создают новые классы уровня данных и, следовательно, новые объекты соединения.

Я не понимаю, как можно сохранять соединение вокруг откройте, используя приведенный выше код. Разве соединение не должно всегда закрываться после открытия, что делает невозможным возникновение вышеуказанного исключения?

Подробнее здесь: https://stackoverflow.com/questions/190 ... te-is-open

Вернуться в «C#»