Использует одиночный элемент для соединения хорошая идея в веб-сайте ASP.NET

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

Что касается определенных инструментов, я использую соединение стандартных встроенных комментариев, переходной приставки для больших блоков документации, где формат, подобный , человек является соответствующим, и TeX как заключительная нейтрализация для документов, которые должны быть большей свободной формой. (И, в духе "того же как любой другой язык", да, я действительно использую переходную приставку для документирования кода не-Perl также.)

5
задан Jean-François Côté 4 January 2013 в 17:03
поделиться

4 ответа

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

Если соединение не заблокировано должным образом, все может стать действительно странным. Например, один поток может удалить соединение, в то время как другой поток пытается выполнить против него команду.

Вместо использования одного соединения, вы должны просто создавать новые объекты соединения, когда они вам нужны, чтобы воспользоваться преимуществами объединения соединений.

Пул соединений является поведением по умолчанию для классов SqlClient (и, возможно, других поставщиков данных). Когда вы используете пул соединений, каждый раз, когда вы «создаете» соединение, оно будет фактически извлечено из пула существующих, так что вы не будете нести расходы на его создание каждый раз с нуля. Когда вы его отпускаете (закрываете или утилизируете), вы возвращаете его в пул соединений, сохраняя общее количество соединений относительно низким.


Изменить: Вы ' Вы увидите указанную вами ошибку ( Время ожидания истекло до получения соединения из пула ), если вы не закрываете (или не удаляете) свои соединения. Убедитесь, что вы сделали это, как только закончите использовать каждое соединение.

Есть несколько хороших вопросов о переполнении стека, которые обсуждают это, и я подозреваю, что это может быть полезно!

23
ответ дан 18 December 2019 в 05:24
поделиться

Нет, это плохая идея. Вы используете пул соединений.

7
ответ дан 18 December 2019 в 05:24
поделиться

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

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

Это плохая новость.

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

Самая дорогостоящая операция в объекте подключения к базе данных - это фактическое соединение . не творение.

4
ответ дан 18 December 2019 в 05:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: