Есть какой-то способ гарантировать уникальное (не объединенное в пул) соединение с базой данных на сеанс пользователя в ASP.NET? - PullRequest
1 голос
/ 05 августа 2011

Из-за проблем с блокировкой мы должны гарантировать, что каждый сеанс asp.net получает свое собственное соединение в пуле соединений.Одно соединение на сеанс, не разделяемое никаким другим соединением.

Есть идеи?

ПРАВИЛЬНОГО ответа нет, у нас просто нет идей и нам нужны предложения.Заранее спасибо.

1 Ответ

2 голосов
/ 05 августа 2011

Если это SQL Server, в строке соединения с базой данных добавьте Pooling = 'false', и тогда соединения не будут объединяться.

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

Убедитесь, что все соединения находятся в блоке using (который будет вызывать dispose автоматически) или, если они находятся в перехватчике try, убедитесь, что в конечном итоге dispose вызывается для соединения.

Кроме этого, если пул не требуется, измените строку подключения, чтобы не использовать пул.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...