Четверг Мая 17 , 2012
TEXT_SIZE
   


Как включить пул соединений

Индекс материала
Как включить пул соединений
Страница 2

Очень просто — пул соединений включен по умолчанию. Следующий фрагмент кода пять раз создает и уничтожает один и тот же объект Connection. Так как пул соединений по умолчанию включен, при вызове метода Close соединение с БД не разрывается. Вместо этого оно помещается в пул для дальнейшего использования.

Пул соединений обрабатывается отдельным потоком, в результате чего код имеет возможность открыть второе соединение с БД. В некоторых случаях, когда код на второй итерации цикла For подходит к методу Open, оказывается, что процедура управления пулом соединений еще не поместила начальное соединение в пул. Между вызовом метода Close объекта Connection и концом цикла For можно добавить следующую строку, чтобы приостановить текущий поток и позволить выпол няться другим потокам. При этом код использукт только одно соединение с БД: System. Threading.

Thread. Sleep(0) Что делать, если не надо помещать соединения в пул А здесь все несколько сложнее, чем раньше. Например, при использовании классического двухуровневого приложения, в котором клиент взаимодействует непосредственно с БД, пул соединений не нужен, но по умолчанию он включен.

Так как же его выключить? Класс OleDbConnection реализует метод ReleaseConnectionPool, который можно использовать совместно с методом Collect объекта, осуществляющего глобальный сбор мусора, чтобы на самом деле закрыть физическое соединение с БД. Однако есть более изящный способ. В строку подключения OLE DB надо добавить следу ющий атрибут: OLE DB Services=-4; При этом поставщик данных OLE DB. NET отмечает, что соединение не нужно помещать в пул.



Добавить комментарий


Защитный код
Обновить

Рейтинг пользователей: / 0
ХудшийЛучший 

Метео

Войти

Голосование

Идеальный вариант проведения новогодней корпоративной вечеринки - это…

Сейчас на сайте

Сейчас 8 гостей онлайн