Самый опрятный метод замены живого сайта со статическими страницами во время обслуживания?

Получите Windows Server 2008 Web Edition и сделайте его 64-разрядной версией. Это - безусловно лучшая платформа для ASP.NET.

  • Windows Server 2008 Web Edition, потому что это более дешево и если Вы только захотите использовать его в качестве веб-сервера + SQL-сервер, то Вы будете в порядке.
  • 64-разрядный, потому что это по сути более безопасно, производительно и соответствует требованиям завтрашнего дня.
  • ASP.NET, потому что... хорошо Вы знаете ответ на тот, так как Вы уже выбрали его! ;-)
1
задан 19 November 2010 в 14:15
1 ответ

В IIS я использую метод по имени App_Offline. Больше информации может быть найдено на блоге Scott Gu.

Путем app_offline.htm работает, то, что Вы помещаете этот файл в корень приложения. Когда ASP.NET будет видеть его, это завершит работу домена приложения для приложения (и не перезапустит его для запросов), и вместо этого передайте содержание обратно файла app_offline.htm в ответ на все новые динамические запросы на приложение. Когда Вы будете сделаны, обновляя сайт, просто удалите файл, и он возвратится онлайн.

Одной вещью, на которую я указал в разговоре, что Вы хотите следить, является функция IE6, названной "Шоу Дружественные Ошибки HTTP". Это может быть настроено в Инструментах-> интернет-Опции-> Вкладка "Дополнительно" в IE и идет по умолчанию с IE6. То, когда это идет, и сервер возвращает не код состояния HTTP-200 меньше чем с 512 байтами содержания, IE не покажет возвращенный HTML и вместо этого заменяет его собственным универсальным сообщением кода состояния (который лично я не думаю, является супер дружественным).

Таким образом, если Вы используете функцию app_offline.htm, необходимо удостовериться, что у Вас есть по крайней мере 512 байтов содержания в ней, чтобы удостовериться, что Ваш HTML (вместо дружественного сообщения о состоянии IE) показывает до Ваших пользователей. Если Вы не хотите иметь много текстового разоблачения на странице, один прием, который можно использовать, должен просто добавить HTML клиентский комментарий с некоторым поддельным содержанием для продвижения его более чем 512 байтов. Например:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
    <title>Site Under Construction</title>
</head>
<body>
    <h1>Under Construction</h1>

    <h2>Gone to Florida for the sun...</h2>

<!--       
    Adding additional hidden content so that IE Friendly Errors don't prevent
    this message from displaying (note: it will show a "friendly" 404
    error if the content isn't of a certain size).

    <h2>Gone to Florida for the sun...</h2> 
    <h2>Gone to Florida for the sun...</h2> 
    <h2>Gone to Florida for the sun...</h2> 
    <h2>Gone to Florida for the sun...</h2> 
    <h2>Gone to Florida for the sun...</h2> 
    <h2>Gone to Florida for the sun...</h2> 
    <h2>Gone to Florida for the sun...</h2> 
    <h2>Gone to Florida for the sun...</h2> 
    <h2>Gone to Florida for the sun...</h2> 
    <h2>Gone to Florida for the sun...</h2> 
    <h2>Gone to Florida for the sun...</h2> 
    <h2>Gone to Florida for the sun...</h2> 
    <h2>Gone to Florida for the sun...</h2>     
-->
</body>
</html>

Больше дискуссии об этом на нашем родственном сайте, StackOverflow.

4
ответ дан 3 December 2019 в 18:08

Теги

Похожие вопросы