Ado.Net - Как использовать пул соединений? - PullRequest
4 голосов
/ 25 сентября 2011

.Net позволяет создавать пулы соединений, исходя из того, что я прочитал, просто добавив параметры в App.config

Вопрос в том, могу ли я что-то сделать в моем коде, чтобы использовать пул соединений? В моем коде я открываю соединение каждый раз, когда требуются данные, и закрываю его, как только я закончу. Должен ли я сделать что-то особенное, чтобы повторно использовать соединения?

Ответы [ 3 ]

9 голосов
/ 25 сентября 2011

Вам не нужно делать ничего особенного, если ваши соединения используют одну и ту же строку соединения.Используйте соединение, закройте его и автоматически вернетесь в пул.

Из Пул соединений с SQL Server :

Соединения объединяются для каждого процесса, для домена приложениядля каждой строки подключения и при использовании встроенной защиты для каждого идентификатора Windows.Строки подключения также должны точно совпадать;ключевые слова, предоставленные в другом порядке для одного и того же соединения, будут объединены в отдельности.

Вы можете настроить определенные параметры, относящиеся к пулу, в строке подключения :

  • Объединение в пул (включено по умолчанию)
  • Время жизни соединения (или время ожидания баланса нагрузки)
  • Зачисление
  • Максимальный размер пула
  • Минимальный размер пула
3 голосов
/ 25 сентября 2011

Смысл в том, чтобы ничего не делать для повторного использования соединений :) Если вы сохраняете соединение и используете его повторно, пул побеждает.

Хорошим примером является использование IDisposable и использование,Для классов соединения ado.net распоряжайтесь вызовами close.Если вы сделаете это, вы не ошибетесь.

using (conn = new SqlConnection(...))
{
    // use the connection
}
0 голосов
/ 14 мая 2014

Вам не нужно ничего делать, его по умолчанию включено. Если вы хотите отключить его, вы можете установить значение пула в false в строке подключения. Ниже хорошее видео, которое объясняет то же самое с демонстрацией.

http://www.youtube.com/watch?v=nwBBd9GrcqI

...