Практическое руководство. Подготовка к развертыванию веб-проекта

Перед развертыванием или повторным развертыванием веб-проекта может потребоваться запретить рабочему сайту реагировать на запросы страниц во время процесса развертывания. Это помогает избежать ошибок, которые могут появиться в то время, когда изменения выполнены лишь частично. Кроме того, при изменении файлов некоторых типов и некоторых папок происходит перезапуск домена приложения, и может потребоваться обеспечить, чтобы перезапуск производился только один раз.

Перевод веб-приложения в автономный режим перед развертыванием

  1. Создайте файл с именем App_offline.htm и поместите в него сообщение, уведомляющее пользователей о том, что сайт недоступен в связи с его обновлением.

  2. Поместите файл App_offline.htm в корневую папку целевого веб-сайта.

    Пока в корне веб-сайта имеется файл App_offline.htm, все запросы к веб-сайту перенаправляются на этот файл.

    Завершив развертывание сайта, удалите файл App_offline.htm.

Снижение числа перезагрузок домена приложения

  1. Откройте файл Web.config веб-приложения. Если файл Web.config отсутствует, его можно создать, выполнив следующие действия.

    1. В обозревателе решений щелкните имя веб-сайта правой кнопкой мыши.

    2. Выберите команду Добавить новый элемент.

    3. Выберите шаблон Файл веб-конфигурации.

    4. Нажмите кнопку Добавить.

    Дополнительные сведения о файлах конфигурации см. в разделе Файлы конфигурации ASP.NET.

  2. Если планируется отправка нескольких команд копирования и между ними возможны определенные перерывы, может потребоваться исключить перезапуск домена приложения в промежутках между командами копирования. Чтобы исключить перезапуск, в файле Web.config настройте задержку перезапуска домена приложения. Добавьте в файл Web.config элемент Элемент httpRuntime (схема параметров ASP.NET) и задайте для атрибута waitChangeNotification время ожидания (в секундах), в течение которого не будет производиться перезапуск домена приложения между командами копирования. Например, если требуется задать пятисекундную задержку, элемент httpRuntime может выглядеть так, как в следующем примере.

    <configuration>
      <system.web>
            <compilation debug="false" targetFramework="4.0" />
        <httpRuntime 
          waitChangeNotification="5" />
      </system.web>
    </configuration>
    
  3. Если требуется обеспечить, чтобы домен приложения был перезапущен не позднее определенного времени после выполнения первой команды копирования, добавьте атрибут maxWaitChangeNotification к элементу httpRuntime и задайте для него максимальное время ожидания (в секундах). Например, файл Web.config, в котором элемент httpRuntime имеет оба атрибута, может выглядеть так, как показано в следующем примере.

    <configuration>
      <system.web>
        <httpRuntime 
          waitChangeNotification="5"
          maxWaitChangeNotification="10" />
      </system.web>
    </configuration>
    
Показ: