Пул соединений в .NET / SQL Server?

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


person pix0r    schedule 11.08.2008    source источник


Ответы (5)


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

person Sean Carpenter    schedule 11.08.2008

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

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

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

person Chris Roberts    schedule 11.08.2008

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

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

person Rob Cooper    schedule 11.08.2008

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

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

person BinaryMisfit    schedule 12.08.2008

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

person Vaibhav    schedule 11.08.2008