SqlConnection.ClearAllPools, что очищается? - PullRequest
9 голосов
/ 28 сентября 2010

У меня есть приложение, которое использует SqlConnection.ClearAllPools для закрытия всех соединений перед удалением базы данных.

В некоторых случаях соединение все еще существует.Это соединение было создано в другом домене приложения.

Итак, мне интересно, какие соединения закрыты SqlConnection.ClearAllPools?

  • Только соединения, открытые вызывающим процессом (или AppDomain)?
  • Все соединения, открытые этой машиной?
  • ...?

1 Ответ

9 голосов
/ 28 сентября 2010

Закрывает все соединения, открытые только вызывающим процессом. Он очищает все пулы соединений, которые связаны с процессом. Цитата

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

...