Технология Microsoft ADO.NET


Работа с пулом соединений. Microsoft SQL Profiler - часть 2


А можно собраться вместе с друзьями и дозвониться один раз, затем просто передавать трубку друг другу для разговора. Телефон в данном случае будет выступать в качестве пула соединений. Вернемся к нашей модели. Промежуточный сервер тоже будет выступать в качестве пула соединений. Более того, если к нему будут обращаться несколько клиентских приложений (несколько друзей), использующих одинаковую базу данных и параметры авторизации (один человек на другом конце земного шара), то выигрыш времени будет еще более заметным.

При создании подключения с использованием поставщиков данных .NET автоматически создается пул соединений. При вызове метода Close соединения не разрывается, а по умолчанию помещается в пул. В течение 60 секунд соединение остается открытым, и если оно не используется повторно, поставщик данных закрывает его. Если же по каким-либо причинам нам необходимо закрывать соединение, не помещая его в пул, в строке соединения СonnectionString нужно вставить дополнительный параметр. Для поставщика OLE DB:

OLE DB Services=-4;

Для поставщика SQL Server:

Pooling=False;

Теперь при вызове метода Close соединение действительно будет разорвано.

Поставщик данных Microsoft SQL Server предоставляет также дополнительные параметры управления пулом соединений (таблица 4.4).

Таблица 4.4. Параметры пула соединения поставщика MS SQL Server

Параметр Описание Значение по умолчанию
Connection Lifetime Время (в сек.), по истечении которого открытое соединение будет закрыто и удалено из пула. Сравнение времени создания соединения с текущим временем проводится при возвращении соединения в пул. Если соединение не запрашивается, а время, заданное параметром, истекло, соединение закрывается. Значение 0 означает, что соединение будет закрыто по истечении максимального предусмотренного тайм-аута (60 сек.) 0
Enlist Необходимость связывания соединения с контекстом текущей транзакции2) потока True
Max Pool Size Максимальное число соединений в пуле. При исчерпании свободных соединений клиентское приложение будет ждать освобождения свободного соединения 100
Min Pool Size Минимальное число соединений в пуле в любой момент времени 0
Pooling Использование пула соединений True
<


Начало  Назад  Вперед



Книжный магазин