Пул соединений — разработка мобильных приложений, веб-службы, архитектура SOA — технологии
перейти к содержанию

Пул соединений — разработка мобильных приложений, веб-сервисы, архитектура SOA

Объявления

Что такое пул соединений?

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

Управление параметрами пула соединений

Пул соединений включается по умолчанию при создании объектов подключения ADO.NET. Вы можете контролировать поведение пула соединений (или вообще отключить пул соединений), задав определенные ключевые слова строки соединения для пула соединений. Например, чтобы специально отключить пул соединений, установите Pooling=False в строке подключения. В Табл. 5-7 представлен список ключевых слов строки подключения, которые можно использовать для управления взаимодействием конкретного соединения с пулом соединений. Не все ключевые слова доступны для всех поставщиков. Например, поставщик OLE DB отслеживает пул соединений (также известный как пул ресурсов или сеансы) на основе значения, установленного для ключевого слова OLE DB Services в строке подключения.

Строка подключения к пулу соединений таблицыПомимо свойств строки подключения, которые управляют поведением пула соединений, в объектах соединений также доступны методы, которые также могут влиять на пул соединений. Доступные методы обычно используются, когда вы закрываете соединения в своем приложении и знаете, что они больше не будут использоваться. Это очищает пул соединений, отбрасывая соединения вместо того, чтобы возвращать их в пул, когда они закрываются. Любые соединения, которые уже находятся в пуле и открыты, будут удалены при следующем закрытии. В Табл. 5-8 перечислены методы, доступные для взаимодействия с пулами соединений.

Настройка подключений для использования пула подключений

По умолчанию все поставщики данных .NET Framework, доступные в ADO.NET, включают пул соединений, но уровень управления, доступный для работы с пулом соединений, зависит от используемого поставщика.

Настройка пула соединений с соединениями SQL Server

По умолчанию объект SqlConnection автоматически использует пул соединений. Каждый раз, когда вы вызываете Sqlconnection.Open с уникальной строкой подключения, создается новый пул. Управляйте поведением пула соединений, устанавливая ключевые слова пула соединений в строке соединения, как описано ранее в Таблице 5-7. Например, рассмотрим соединение, в котором вы хотите установить минимальный размер пула. Присвоив ключевому слову Mîn Pool Size значение больше нуля, вы гарантируете, что пул не будет уничтожен до тех пор, пока приложение не завершится. Чтобы установить минимальный размер пула равным 5, используйте строку подключения, подобную следующей:

Источник данных = SqlServerName; Начальный каталог = Имя базы данных; Интегрированная безопасность=True;Минимальный размер пула=5

Минимальный размер пула по умолчанию равен 0, что означает, что каждое соединение необходимо создавать и инициализировать по запросу, увеличивая минимальный размер пула в строке подключения, указанное количество соединений создается и готово к использованию, что может сократить время. требуется установить соединение по этим первоначальным соединениям.

Настройка пула соединений с помощью соединений Oracle

Соединения с использованием поставщика данных .NET Framework для Oracle по умолчанию автоматически используют пул соединений. Вы можете контролировать, как соединение использует пул, задав ключевые слова строки соединения. В Таблице 5-10 подробно описаны ключевые слова строки подключения, доступные для изменения действий пула соединений.

Обработка ошибок подключения

Когда SQL Server возвращает предупреждение или ошибку, поставщик данных .NET Framework для SQL Server создает и выдает исключение SqlException, которое вы можете перехватить в своем приложении для решения проблемы. При возникновении исключения SqlException проверьте свойство SqlException.Errors, чтобы получить доступ к коллекции ошибок, возвращаемых с сервера SQL. Свойство SqlException.Errors — это класс SqlErrorCollection (коллекция классов SqlError), который всегда содержит хотя бы один объект SqlError.

ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ Ошибки SQL Server

SqlConnection останется открытым для сообщений с уровнем серьезности 19 или ниже, но обычно автоматически закрывается, когда уровень серьезности достигает 20 или выше.

Краткое содержание

  • Пул соединений включен по умолчанию.
  • Параметры пула соединений определяются в строке подключения, за исключением поставщика ODBC, который использует диалоговое окно «Администратор источника данных ODBC» в Windows.
  • Объект SqlException создается при обнаружении ошибки на сервере SQL.
  • Каждый экземпляр исключения SqlException содержит по крайней мере одно предупреждение SqlError, содержащее фактическую информацию об ошибке сервера.
  • Аутентификация Windows (также называемая встроенной безопасностью) — это предлагаемый метод безопасного подключения к данным.
  • Храните строки подключения, содержащие конфиденциальную информацию, в файле конфигурации приложения и шифруйте все параметры, содержащие конфиденциальную информацию.