Необходимо или выгодно писать собственный код пула соединений при разработке приложений в .NET с базой данных SQL Server? Я знаю, что ADO.NET дает вам возможность включить / отключить пул соединений - означает ли это, что он встроен в структуру, и мне не нужно об этом беспокоиться? Почему люди говорят о написании собственного программного обеспечения для пула соединений и чем оно отличается от того, что встроено в ADO.NET?
Пул соединений в .NET / SQL Server?
Ответы (5)
Пул соединений, встроенный в ADO.Net, является надежным и зрелым. Я бы не рекомендовал пытаться написать свою собственную версию.
Я не настоящий эксперт в этом вопросе, но я знаю, что ADO.NET имеет свою собственную систему пула соединений, и пока я ее использую, она работала безупречно.
Моя реакция была бы такой, что нет смысла изобретать велосипед ... Просто убедитесь, что вы закрыли свои связи, когда закончите с ними, и все будет хорошо!
Я надеюсь, что кто-то еще может дать вам еще несколько твердых ответов!
Насколько я понимаю, пул соединений автоматически обрабатывается для вас при использовании объекта SqlConnection. Это специально разработано для работы с MSSQL и гарантирует эффективное объединение соединений. Вам просто нужно убедиться, что вы закрыли их, когда закончите с ними (и убедитесь, что они утилизированы).
Я никогда не слышал о людях, которым нужно кататься самостоятельно. Но я признаю, что мой опыт здесь ограничен.
С появлением ADO.Net и новой версии пул соединений SQL обрабатывается на двух уровнях, во-первых, через сам ADO.Net, а во-вторых, напрямую через SQL Server 2005/2008, что устраняет необходимость в настраиваемом пуле соединений.
Мне сообщили, что подобная поддержка планируется или была реализована в Oracle и MySQL из-за интереса.
Что ж, он скоро исчезнет, поскольку ответом на все эти вопросы будет LINQ. Между прочим, у нас никогда не было необходимости в настраиваемом пуле подключений ни для одного из наших приложений, поэтому я не уверен, о чем идет речь.