среда, 8 октября 2008 г.

В сайте сделанном на Dotnetnuke постоянно пересоздается домен приложения: "The AppDomain shut down because of the hosting environment."

Создал сайт с использованием CMS DotNetNuke. На моей девелоперской машине он работал очень даже шустро. После размещения на американском хостинге заметил, что страницы, особенно первая, открываются очень долго.  Смотрю журнал сайта и вижу, что домен приложения (appDomain) пересоздается несколько раз в минуту. Идут последовательные записи:

Application Shutting Down.  Shutdown Details: The AppDomain shut down because of the hosting environment.

Application Started.

Пересоздание домена приложения операция не быстрая, она и приводит к уменьшению производительности сайта (медленной загрузке страниц).

Так как я не не делал никаких изменений в файлах (в т.ч. конфигурационнных) веб-приложения, а также во вложенных папках проекта, возник вопрос: почему и как с этим бороться?

Имея опыт работы с хостерами знаю, что бывает на хостинге,  в борьбе за ресурсы,  выставяют в конфигах время жизни сессии очень маленькое (sessionState.Timeout). Пишу приложение и проверяю: да, действительно сессия живет не более 10-ти секунд. Пишу письмо в саппорт с просьбой увеличить до 30-ти минут. Сделали.

Теперь вижу, что appDomain уже не умирает так часто, как раньше. Теперь это повторяется раз в 15-20 минут. Так как сайт еще никто не посещает и зная, что домен приложения может уничтожаться при неактивности, пишу windows-службу, которая с интервалом 5 минут делает HTTP GET запрос к сайту . Результат: AppDomain практически не пересоздается. Проблема решена.


Комментариев нет: