Будет ли app_offline.htm останавливать текущие запросы или только новые запросы?
Как видно из названия, если я app_offline.htm
в корне приложения будут обрезаться запущенные в данный момент запросы или только новые?
2 ответа
Вот мой неудачный эксперимент; Я создал страницу ASPX со следующим кодом:
protected void Page_Load(object sender, EventArgs e)
{
Response.BufferOutput = false;
Response.Write("Step 1<br />");
System.Threading.Thread.Sleep(10000);
Response.Write("Step 2<br />");
System.Threading.Thread.Sleep(10000);
Response.Write("Step 3<br />");
}
Этот код просто вводит некоторую загрузку страниц. Я зашел на страницу и, пока она загружалась, я создал файл app_offline.htm. Затем я загрузил другой веб-браузер и подтвердил, что приложение было отключено. Затем я повторно посетил мой запрос "загрузки"... он завершился вплоть до шага 3.
Это подтверждает, что текущие запросы заканчивают загрузку, а новые запросы отклоняются.
Из блога ScottGu:
По сути, если вы поместите файл с этим именем в корень каталога веб-приложения, ASP.NET 2.0 завершит работу приложения, выгрузит домен приложения с сервера и прекратит обработку любых новых входящих запросов для этого приложения. Затем ASP.NET также ответит на все запросы динамических страниц в приложении, отправив обратно содержимое файла app_offline.htm (например, вы можете захотеть получить сообщение "сайт находится в разработке" или "не работает"),
App_Offline.htm - Блог ScottGu
Таким образом, похоже, что он продолжит обработку текущего запроса, но остановит новые входящие запросы.