aspnet_wp.exe перезагружается автоматически
Наше веб-приложение работает на.net 1.1, и у нас есть устаревший код, который отключает IIS каждые пару дней.
Я думал об изменении настроек machine.config для перезапуска процесса aspnet через каждые пару дней, но проблема в том, что он собирается убивать существующие сеансы в процессе. Можно ли как-то избежать этого?
Есть ли лучший способ справиться с этой ситуацией? прямо сейчас клиент перезапускает IIS вручную через каждые несколько дней.
Спасибо
Редактировать: если у вас есть - не сериализуемые объекты в вашем сеансе, - не могу работать с sql-сервером
Тогда хорошим решением будет использование "idleTimeout". Он отключает процесс asp_net, если на сервере нет активности до указанного времени. При следующем запросе запускается процесс asp_net.
2 ответа
Я предлагаю две вещи:
- Настройте приложение для использования SQL Server для хранения данных сеанса - это позволяет данным сеанса пережить перезапуск веб-приложения
- Сконфигурируйте пул приложений для периодической перезапуска рабочих процессов:
Конечно, еще лучше было бы обновить веб-приложение до последней версии фреймворка и в то же время исправить проблему, чтобы предотвратить это в первую очередь.
Вы на самом деле храните какие-либо данные в сеансе? если вы делаете, это Serializable? Если это так, просто измените Web.config для использования StateServer.
Вам просто нужно запустить ASP .NET State Service автоматически, для этого перейдите в панель управления -> инструменты администрирования -> Службы и настройте ASP .NET State Server для автоматического запуска.
Это позволит вам перезапустить процесс aspnet_wp.exe без потери информации о сеансе; опять же, единственным требованием является то, что информация, которую вы вводите в сеанс, является сериализуемой (что, вероятно, имеет место или, по крайней мере, должно быть легко сделать, если ваш код не делает ничего сумасшедшего)