Фон:
У меня есть приложение, что я приятно разделил свою интерфейсную логику от моей логики среднего уровня, которая обрабатывает запросы к базе данных. Я делаю большую пользовательскую сортировку и сужение, таким образом, я не использую многие SqlDataSources и вместо этого называю много хранимых процедур с SqlCommands.
Я использую Аутентификацию Форм для создания защищенных подкаталогов. В web.config файлах в защищенных каталогах у меня есть больше строк подключения, которые связываются с пользователями с более высокими привилегированными ролями.
Вопрос:
Я должен совместно использовать объект SqlConnection на своем среднем уровне для включения повторяющегося кода, или я должен создать новый экземпляр для каждой операции? Общий SqlConnection, которого я мог повторно инстанцировать, если я должен изменить строки подключения для получения доступа к защищенным хранимым процедурам. Здесь существует ли лучшая практика?
Не беспокойтесь о совместном использовании для сохранения ресурсов. .NET справится с этим за вас, по умолчанию он делает пул соединений. Напишите код, чтобы он был понятен и понятен, и пусть .NET позаботится об этих деталях.
Создайте столько SQLCONNNETORECTS, сколько вам нужно, так как можно скорее проживало, через использование оператора:
using (var connection = new SqlConnection(...)) {
connection.Open();
...
}
SQL-соединения взяты из пула соединения, которое автоматически управляет для вас конкуренцией.
См.: http://msdn.microsoft.com/en-us/library/8xx3tyca (vs.80) .aspx
Создайте новый (и утилизируйте правильно) и используйте объединение соединения .