Параметры рециркуляции для объекта состояния приложения ASP.Net

StackOverflow https://stackoverflow.com/questions/1016194

Вопрос

Какие есть варианты для перезапуска объекта состояния приложения ASP.Net? Я использую этот объект для хранения очередей соединений с базой данных для слоя доступа к данным на основе веб-сервиса. Я обеспокоен тем, что в течение дней / недель / месяцев я в конечном итоге выделю растущие суммы памяти для соединений с БД, которые больше не используются. Соединения создаются автоматически по мере необходимости, поэтому их сохранение не так уж важно.

Было бы здорово выборочно проанализировать состояние приложения и отбросить то, что мне не нужно. Но на практике просто уронить весь объект и начать все с нуля будет так же хорошо. Однако мне нужно быть осторожным, чтобы процесс очистки не прерывал используемые в данный момент соединения.

Это было полезно?

Решение

Что произошло до того, как вы начали кэшировать соединения? Вызывало ли их кэширование какое-либо ощутимое улучшение производительности или использования ресурсов? Я был бы немного удивлен, если бы это произошло, учитывая, что ADO.NET делает пул соединений для вас.

Нет вариантов утилизации для состояния приложения. Это для сервера, для домена приложения.

Для другого варианта кэширования рассмотрите использование объекта Cache. Это также для каждого приложения, но вы можете установить истечение срока действия записей в кэше.

Другие советы

Я провел некоторое тестирование, и кажется, что объект приложения находится в пуле приложений. (Переработка пула приложений очистила данные в объекте приложения.)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top