ОБНОВЛЕНИЕ - процесс для репликации проблемы:
1) Создайте проект веб-сайта на c: \ projects \ restart-demo
2) Добавить стандартный web.config и фиктивную страницу aspx test.aspx
3) Сопоставить IIS с указателем на корневую папку c: \ projects \ restart-demo
4) Мониторинг приложений перезапускается с помощью perfmon, мониторинга работоспособности, отслеживания в global.asax Application_End и т. Д.
5) Запросить страницу в браузере http://localhost/test.aspx
запуск приложения
6) Создать новую папку c: \ projects \ restart-demo \ asdf
конец приложения
7) Запросить страницу в браузере http://localhost/test.aspx
запуск приложения
8) Переименовать папку c: \ projects \ restart-demo \ asdf в c: \ projects \ restart-demo \ asdf1
конец заявки
конец обновления
Мы используем внутреннюю CMS для создания файлов и папок на сайте ASP.NET.
Пользователи могут создавать / изменять / удалять файлы и отправлять их в веб-ферму.
Одна проблема, которую мы заметили:
Когда пользователь создает, переименовывает или удаляет папку , он вызывает приложение
Домен для перезапуска. Как следствие,
сеанс, кеш и т. д. все потеряно.
Обратите внимание, что это не обязательно должна быть специальная папка, такая как / bin или / App_Code.
Есть ли способ предотвратить такое поведение?
Это действительно снижает производительность по двум причинам:
- Кэш сбрасывается при перезапуске домена приложения
- Домен приложения необходимо перестроить после перезапуска