.Net делает умное управление соединениями, как PHP? - PullRequest
0 голосов
/ 07 октября 2008

Во время загрузки страницы ASP.NET я открываю и закрываю несколько System.Data.SqlClient.SqlConnections внутри нескольких элементов управления, содержащихся на странице. Я подумал, что было бы неплохо вместо этого создать «пул» соединений и при открытии соединения проверить, соответствует ли строка соединения открытому соединению в пуле, и вернуть это соединение. Я ожидал увидеть разницу во времени загрузки страницы, но я не увидел никаких изменений. Я знаю, что с PHP, если вы попытаетесь открыть новое соединение с помощью строки соединения, которая уже использовалась в запросе этой страницы, он не будет пытаться открыть новое соединение и вместо этого вернет существующее открытое соединение. Это правда с .NET?

Ответы [ 2 ]

3 голосов
/ 07 октября 2008

Пул соединений является важной функцией ADO.NET.

Прочтите эту статью MSDN или некоторые другие ресурсы, доступные в сети, например сообщение в блоге

0 голосов
/ 07 октября 2008

Да, именно так работает пул соединений в ADO.NET.

Когда вы вызываете Open() в экземпляре Connection, он не обязательно открывает соединение. Извлекает открытое соединение из пула, соответствующее строке соединения. Close() освобождает соединение обратно в пул.

...