Развертывание веб-приложения ASP.NET с помощью развертывания Xcopy

В этой статье описывается использование команды MS-DOS Xcopy для развертывания веб-приложения Microsoft ASP.NET.

Исходная версия продукта: ASP.NET
Исходный номер базы знаний: 326355

Сводка

Развертывание в стиле Xcopy не подходит для всех ситуаций. Для крупных веб-сайтов и бизнес-приложений рекомендуется временно отключить сайт. Это необходимо сделать во время развертывания нового содержимого и сборок приложения. Это обслуживание можно выполнить в удобное запланированное время. Чтобы свести к минимуму запланированное время простоя, выполните следующие действия.

  1. Создайте новый физический каталог для приложения, которое требуется обновить. Скопируйте все новое содержимое в новый физический каталог.

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

    Примечание.

    При развертывании нового содержимого в веб-приложении ASP.NET приложение может перезапуститься. Если у вас есть большие приложения и сложные приложения, которые имеют значительные требования к памяти, потребление памяти может быть увеличено. При перезапуске приложения могут возникнуть проблемы с поддержкой. Сюда входит потеря состояния сеанса пользователя.

Что такое развертывание Xcopy

Развертывание Xcopy описывает развертывание в ASP.NET, где для копирования файлов из одного расположения в другое используется функция перетаскивания в Microsoft Windows Обозреватель, ftp или команда DOSXcopy. Приложение ASP.NET не требует внесения изменений в реестр и не имеет особых требований к установке для принимающей компании на размещенных сайтах.

Преимущества развертывания Xcopy

Передача файлов в стиле Xcopy упрощает развертывание и обслуживание ASP.NET сайтов, так как вы не вносите записи реестра и не регистрируете компоненты. Приложения Microsoft .NET самоописываются, как правило, без зависимостей. С помощью управления версиями сборки можно даже скопировать новую копию библиотеки динамической компоновки (DLL), которая используется приложением, не останавливая веб-сервер.

Различия между развертыванием Xcopy и копированием проекта в Visual Studio .NET

Для развертывания Xcopy не требуется установка специального программного обеспечения на компьютере разработки или на веб-сервере. Для метода Копирования проекта Visual Studio .NET требуется установить серверные расширения Microsoft FrontPage (FPSE) на удаленном сервере. Xcopy также позволяет заменять только последние измененные файлы. Вы можете выбрать файлы вручную, чтобы заменить их, или использовать /d переключатель в команде Xcopy , чтобы указать дату следующим образом:

xcopy source [destination] /D:m-d-y

Установка виртуального каталога в качестве приложения IIS

Если целевой каталог еще не настроен, необходимо настроить его как приложение в Microsoft IIS (IIS) перед передачей файлов. Чтобы настроить виртуальный каталог, выполните следующие действия.

  1. Нажмите кнопку Пуск, выберите Пункт Программы, Администрирование, а затем — Диспетчер служб Интернета.
  2. В левой области щелкните правой кнопкой мыши имя виртуального каталога и выберите пункт Свойства.
  3. Убедитесь, что имя веб-сайта или имя виртуального каталога указано в поле Имя приложения в разделе Параметры приложения. Если это не так, нажмите кнопку Создать.

Устранение неполадок

В некоторых случаях невозможно завершить развертывание веб-приложения ASP.NET только с помощью передачи файлов Xcopy. К этим случаям относятся следующие:

  • Сборки, требующие установки в глобальном кэше сборок (GAC). Если необходимо совместно использовать какие-либо сборки, которые ASP.NET использует в нескольких доменах приложений, необходимо использовать служебную программу Gacutil.exe, чтобы зарегистрировать эти сборки в GAC. При каждом развертывании приложения необходимо отменять регистрацию, заменять и повторно регистрировать сборки.

  • Взаимодействие с компонентной объектной моделью (COM). Если приложение ASP.NET использует какие-либо com-компоненты через COM-взаимодействие, необходимо зарегистрировать эти com-компоненты в службах COM+.

  • Обслуживаемые компоненты. Корпорация Майкрософт рекомендует использовать служебную программу Regsvcs.exe, чтобы зарегистрировать классы, использующие службы COM+ (производные от System.EnterpriseServices.ServicedComponent класса ).

Ссылки