ASP.NET 2.0 - Как использовать app_offline.htm
Я читал о app_offline.htm
файл, который можно поместить в корень приложения.NET 2.0, который по сути закроет приложение и отключит любые другие страницы от запроса.
Я поместил файл в корень, и мой сайт все еще загружается. Я вошел в документы по умолчанию в IIS и установил его app_offline.htm
и сайт все еще загружается (возможно, это была проблема с кэшированием)
В любом случае, кто-нибудь сталкивался с проблемами, используя это? Я делаю что-то неправильно?
7 ответов
Я использовал чрезвычайно удобный трюк app_offline.htm для закрытия / обновления сайтов в прошлом без каких-либо проблем.
Убедитесь, что вы действительно размещаете файл "app_offline.htm" в "корне" веб-сайта, который вы настроили в IIS.
Также убедитесь, что файл назван точно так, как и должно быть: app_offline.htm
Кроме этого, в IIS не должно быть никаких других изменений, которые вам необходимо внести, поскольку обработка этого файла (с этим конкретным именем) обрабатывается средой выполнения ASP.NET, а не самим IIS (для IIS v6).
Имейте в виду, однако, что хотя размещение этого файла в корне вашего сайта вынудит приложение "закрыться" и отобразить содержимое самого файла "app_offline.htm", любые существующие запросы все равно приведут в порядок настоящий веб-сайт. им. Только новые запросы получат контент app_offline.htm.
Если у вас все еще есть проблемы, попробуйте следующие ссылки для получения дополнительной информации:
App_Offline.htm и работа с функцией "Ошибки, связанные с IE"
Будет ли app_offline.htm останавливать текущие запросы или только новые запросы?
Убедитесь, что ваш файл app_offline.htm имеет длину не менее 512 байт. Нулевой байт app_offline.htm не будет иметь никакого эффекта.
ОБНОВЛЕНИЕ: Новые версии ASP.NET/IIS могут вести себя лучше, чем когда я впервые написал это.
ОБНОВЛЕНИЕ 2: Если вы используете ASP.NET MVC, добавьте следующее в web.config:
<?xml version="1.0"?>
<configuration>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true" />
</system.webServer>
</configuration>
Обратите внимание, что это работает одинаково на IIS 6 и 7.x, а также.NET 2, 3 и 4.x.
Также обратите внимание, что при наличии app_offline.htm IIS возвращает этот код состояния http:
HTTP/1.1 503 Service Unavailable
Это все по замыслу. Это позволяет вашему балансировщику нагрузки (или какому-либо другому) видеть, что сервер отключен.
Возможный вопрос разрешения
Я знаю, что этот пост довольно старый, но я столкнулся с подобной проблемой, и мой файл был написан правильно.
Первоначально я создал файл app_offline.htm в другом месте, а затем переместил его в корень моего приложения. Из-за моей настройки у меня тогда была проблема с разрешениями.
Сайт действовал так, как будто его там не было. Создание файла в корневом каталоге вместо его перемещения, исправило мою проблему. (Или вы можете просто исправить разрешение в свойствах-> Безопасность)
Надеюсь, это поможет кому-то.
Удостоверься что app_offline.htm
находится в корне виртуального каталога или веб-сайта в IIS.
Убедитесь, что расширения файлов видны в проводнике, а имя файла действительно
app_offline.htm
не
app_offline.htm.htm
Я столкнулся с проблемой, очень похожей на первоначальный вопрос, который занял у меня некоторое время.
Просто если кто-то еще работает над приложением MVC и находит свой путь в этот поток, убедитесь, что у вас есть подстановочное сопоставление с соответствующим.Net aspnet_isapi.dll. Как только я это сделал, мой app_offline.htm начал вести себя как ожидалось.
Шаги по настройке IIS 6
В свойствах приложения IIS выберите вкладку виртуального каталога.
В разделе "Настройки приложения" нажмите кнопку "Конфигурация".
В разделе "Карты приложений Wildcard" нажмите кнопку "Вставить".
Введите C:\WINDOWS\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll, нажмите кнопку ОК.