2008-08-11 3 views
9

Нужно ли или полезно писать собственный код объединения пула при разработке приложений в .NET с базой данных SQL Server? Я знаю, что ADO.NET дает вам возможность включить/отключить пул соединений - значит ли это, что он встроен в структуру, и мне не нужно беспокоиться об этом? Почему люди говорят о написании своего собственного программного обеспечения для объединения пулов и как это отличается от того, что встроено в ADO.NET?Пул соединений в .NET/SQL Server?

ответ

14

Объединение пулов, встроенное в ADO.Net, является надежным и зрелым. Я бы рекомендовал не пытаться написать собственную версию.

2

Я понимаю, что пул соединений автоматически обрабатывается для вас при использовании объекта SqlConnection. Это целенаправленно предназначено для работы с MSSQL и обеспечит эффективное объединение соединений. Вам просто нужно быть уверенным, что вы их закроете, когда закончите с ними (и убедитесь, что они удалены).

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

-2

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

3

Я не Настоящий эксперт по этому вопросу, но я знаю, что у ADO.NET есть своя система объединения пулов, и пока я ее использую, она безупречна.

Моя реакция заключалась в том, что нет смысла изобретать колесо ... Просто убедитесь, что вы закрываете свои соединения, когда закончите с ними, и все будет хорошо!

Надеюсь, что кто-то еще может дать вам еще более твердые анютеры!

1

С появлением ADO.Net и более новой версии пула соединений SQL обрабатывается на двух уровнях: сначала через ADO.Net, а во-вторых, SQL Server 2005/2008, что устраняет необходимость создания настраиваемого пула соединений.

Мне сообщили, что подобная поддержка планируется или реализована в Oracle и MySQL из интереса.