Каковы возможные причины, по которым App_Offline.htm не может остановить работу сайта? - PullRequest
4 голосов
/ 23 августа 2010

Обычно я использую App_Offline.htm для перевода сайта в автономный режим. Но иногда, когда я это делаю, сайт просто зависает (как в: браузеры ждут вечно, сервер не дает ответа вообще ). Похоже, это происходит на обновляемом сайте, когда я что-то изменяю, например, элемент управления, а потом, когда это происходит недостаточно быстро (сайт зависает), я помещаю App_Offline.htm в корень сайта.

В большинстве случаев это сразу приводит к отключению моего сайта. Но иногда это не так. В этих случаях я не могу просто остановить сайт (при перезапуске поведение продолжается). Остановка пула приложений не позволяет мне перезапустить тот же пул приложений. Пока единственное решение - перезапустить весь веб-сервис IIS.

Я бы хотел предотвратить это. Является ли эта ошибка в IIS «не нарушением всех действий» при обнаружении App_Offline.htm? Я использую IIS 7 с 64-разрядной версией Windows 2008 SP2.

Ответы [ 5 ]

6 голосов
/ 31 мая 2012

Я обнаружил, что мой файл web.config либо содержит ошибку, либо отсутствует.В этом случае app_offline.htm не обрабатывается.

2 голосов
/ 23 января 2011

IIS не должен останавливать существующие действия, только препятствует выполнению новых запросов: Будет ли app_offline.htm останавливать текущие запросы или только новые запросы?

Звучит так, как будто вы описываете сценарийгде вы обновляете элемент управления, попробуйте загрузить страницу, и IE застрял загрузки.В этот момент вы отбрасываете app_offline.htm и ожидаете увидеть эту страницу немедленно.

Если вы делаете совершенно отдельный / новый запрос после ввода app_offline.htm, то вы должны увидеть, что страница появляется.Однако существующий запрос не будет затронут, как указано выше.

Если возможно, попробуйте развернуть файл app_offline.htm до внесения изменений в элемент управления.

1 голос
/ 21 декабря 2012

Вот в чем дело.Каждый раз, когда вы открываете .sln на сервере или обновляете код, он создает билет app_offline в корне.Это функция самого asp.net, которая предотвращает любой доступ, мешающий вашей разработке.

Удаляйте app_offline вручную каждый раз после открытия .sln.

надеюсь, эта помощь поможет.спасибо.

1 голос
/ 28 января 2011

Я не уверен, что вы подразумеваете под «Остановка пула приложений не позволяет мне перезапустить тот же пул приложений» ... если вы имели в виду, что вы не можете перезапустить пул сразу после остановкиэто, потому что это еще не остановлено.В зависимости от количества рабочих процессов в этом пуле может потребоваться минута, чтобы он полностью развернулся, чтобы он мог принять команду запуска.

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

0 голосов
/ 23 февраля 2018

Другая возможность - отсутствующий обработчик.Требуется следующий обработчик:

ExtensionlessUrlHandler-Integrated-4.0
...