Я просматриваю некоторый старый код C # .NET в приложении ASP.NET, чтобы убедиться, что все SqlConnections заключены в с использованием блоков.
Этот фрагмент кода используется для открытия cn и da и закрытия и размещения их как в блоке catch , так и в конце метода. Я добавил usings и не могу точно определить, что блоки , использующие , все еще обрабатывают удаление соединения, если исключение выдается в try и перехватывается в улове . Этот вопрос , по-видимому, наводит на мысль.
using (SqlConnection cn = new SqlConnection(Global.sDSN))
{
using (SqlDataAdapter da = new SqlDataAdapter())
{
// do some stuff
try
{
// do stuff that might throw exceptions
}
catch (catch (System.Exception e)
{
//return something here
// can I ditch these because the using's handle it?
da.Dispose();
cn.Close();
cn.Dispose();
return msg;
}
}
}