Закрытие SqlConnection в ASP.NET и проблема с памятью [дубликат]C#

Место общения программистов C#
Anonymous
Закрытие SqlConnection в ASP.NET и проблема с памятью [дубликат]

Сообщение Anonymous »


В приложении ASP.NET я работаю с уровнем данных, который имеет такие функции, как:

public DataSet GetFacilitiesInfo (строка userName = null) { DataSet Ds = новый DataSet(); строка сохраненногоProcName = «FacilitySelect»; SqlConnection sqlConn = новый SqlConnection(); SQLCommand sqlCommand; пытаться { DBConnection cn = новый DBConnection(); sqlConn = cn.DBConnTIP(_connectionString); sqlCommand = новый SqlCommand (storedProcName, sqlConn); sqlCommand.ТипКоманды = ТипКоманды.СохраненнаяПроцедура; SqlDataAdapter sqlDA = новый SqlDataAdapter(sqlCommand); sqlDA.Fill(Ds); вернуть Ds; } поймать (Исключение e) { бросить е; } окончательно { sqlConn.Закрыть(); sqlConn.Dispose(); } } Согласно Microsoft

Метод Dispose в первую очередь реализуется для освобождения неуправляемых ресурсов.

Я знаю, что в приведенном выше коде мы можем использовать using { ... , но за кулисами CIL преобразует его в точно такие же вызовы функций.

Насколько я понимаю, SqlConnection (ADO.NET) — это управляемый объект, так почему же мы его удаляем?

Кажется, я что-то упускаю.

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