Вы по-прежнему можете ловить (или игнорировать) исключения точно так же, как и раньше. Дело в том, что вам больше не нужно беспокоиться об удалении соединения с базой данных.
т. Е. Если ваше приложение требует, чтобы вы перехватывали исключения по какой-либо другой причине (например, ведение журнала), тогда продолжайте, но вам больше не нужно делать это, если вы хотите только удалить соединение с базой данных:
using (SqlConnection conn = new SqlConnection(...))
{
// do your db work here
// whatever happens the connection will be safely disposed
}
Если вы хотите перехватить исключение по какой-либо другой причине, вы все равно можете сделать это:
try
{
using (SqlConnection conn = new SqlConnection(...))
{
// do your db work here
// whatever happens the connection will be safely disposed
}
}
catch (Exception ex)
{
// do your stuff here (eg, logging)
// nb: the connection will already have been disposed at this point
}
finally
{
// if you need it
}
Используйте папки ...
Или переместите все ваши классы в библиотеку классов для вашего веб-сайта и укажите ссылку на эту библиотеку.
Затем правильно поместите в папку и поместите все ваши классы в пространство имен.
Раньше, когда мне приходилось использовать папку App_Code, я зеркально отображал структуру папок основного сайта для чего-то конкретного и имел общую папку для всего остального
например
Site
|- App_Code
|- Login
|- Common
|- Controls
|- AdminArea
|- SomethingElse
|- Login
|- Controls
|- AdminArea
|- SomethingElse
\- Default.aspx
Могут быть две опции создания проектов для различных уровней и функций. Или создайте папку в папке app_code для различных функций.
Предположим, вы используете первый, тогда вам нужно создать каждый проект библиотеки классов для каждого слоя. Как уровень базы данных, уровень бизнес-логики, общие элементы управления и т. Д. Создайте решение и добавьте весь этот проект. Ссылка на проектную dll для ваших нужд.
Для другого подхода вам просто нужно логически сгруппировать файлы .cs в другую папку.
Я бы посоветовал поместить вам файлы .cs в разные проекты, если это возможно, и просто импортировать файл .dll.
Мы стараемся хранить вещи в соответствующих папках в App_Code. Например, у нас есть функция / продукт под названием DataLinx, поэтому в App_Code есть папка DataLinx со всеми соответствующими файлами.