Как я могу поддерживать свою строку подключения живым среди классов - PullRequest
0 голосов
/ 25 марта 2019

Я хочу использовать пул соединений в моем проекте на C #.Я понимаю, что когда я получаю соединение с сервером SQL, в то время как я использую ту же строку соединения, пул денежных средств будет работать.Однако у меня есть сомнения по поводу того, как лучше всего передавать строку подключения через мои разные классы?Должен ли я передать строку подключения в качестве параметра методам, которые используют ее для подключения?(например, каждый раз, когда мне нужно сделать запрос)

1 Ответ

0 голосов
/ 25 марта 2019

ADO.NET имеет встроенный пул соединений, и вы не можете создать лучший.

Когда вы создаете соединение, используя строку соединения, Framework проверяет пул соединений, чтобы увидеть, доступно ли соединение с этой строкой соединения. Если он есть, он вытаскивает его из бассейна и возвращает вам; в противном случае он создает новый и возвращает его вам.

Точно так же, когда вы закрываете (удаляете) соединение, оно не сразу разрушается. Когда вы закрываете соединение с определенной строкой соединения, оно не сразу уничтожается. Вместо этого он возвращается в пул соединений.

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

РЕДАКТИРОВАТЬ:

Как указывалось, я не ответил на вопрос в своем первоначальном ответе.

Как правило, строки передачи не передаются. Вместо этого они хранятся в файле конфигурации (web.config или app.config) в разделе connectionStrings. Когда вам нужна строка подключения, вы извлекаете ее в методе, который требует ее, используя ConfigurationManager.ConnectionStrings.

...