Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Visual Studio включает средства для развертывания веб-сайта. Дополнительные сведения об этих средствах см. в этом руководстве.
Введение
В предыдущем руководстве показано, как развернуть простое веб-приложение ASP.NET в поставщике веб-узлов. В частности, в руководстве показано, как использовать FTP-клиент, например FileZilla, для передачи необходимых файлов из среды разработки в рабочую среду. Visual Studio также предлагает встроенные средства для упрощения развертывания в поставщике веб-узлов. В этом руководстве рассматриваются два из этих средств: средство копирования веб-сайта, где можно перемещать файлы на удаленный веб-сервер с помощью расширений FTP или FrontPage. и средство публикации, которое копирует весь веб-сайт в указанное расположение.
Замечание
Другим инструментом для развертывания, предлагаемым Visual Studio, является надстройка Web Setup Projects. Проекты веб-установки упаковыв содержимое и сведения о конфигурации веб-сайта в один MSI-файл. Этот вариант наиболее полезен для веб-сайтов, развернутых в интрасети или для компаний, которые продают предварительно упаковаемое веб-приложение, которое клиенты устанавливают на собственных веб-серверах. Проекты веб-развертывания Add-In — это Add-In для Visual Studio, который упрощает уточнение различий конфигурации между сборками для разработческих и продуктивных сред. Проекты веб-установки не рассматриваются в этом руководстве; Проекты веб-развертывания приведены в руководстве по общим различиям конфигурации между разработкой и рабочей средой .
Развертывание сайта с помощью средства копирования веб-сайта
Средство копирования веб-сайта Visual Studio аналогично функции автономного FTP-клиента. Вкратце, средство Copy Web Site позволяет подключаться к удаленному веб-сайту через FTP или расширения сервера FrontPage. Как и в пользовательском интерфейсе FileZilla, пользовательский интерфейс "Копировать веб-сайт" состоит из двух областей: в левой области перечислены локальные файлы, а в правой области перечислены эти файлы на целевом сервере.
Замечание
Средство копирования веб-сайта доступно только для проектов веб-сайтов. Visual Studio предлагает это средство при работе с проектом веб-приложения.
Давайте рассмотрим использование инструмента Copy Web Site для публикации приложения "Обзор книги" на рабочий сервер. Так как средство копирования веб-сайта работает только с проектами, использующими модель проекта веб-сайта, мы можем изучить только этот инструмент с проектом BookReviewsWSP. Откройте этот проект.
Запустите проект средства копирования веб-сайта, щелкнув значок "Копировать веб-сайт" в обозревателе решений (этот значок кругом на рис. 1); Кроме того, можно выбрать параметр "Копировать веб-сайт" в меню "Веб-сайт". Любой подход запускает пользовательский интерфейс копирования веб-сайта, показанный на рис. 1; Заполнена только левая панель на рис. 1, так как у нас еще нет подключения к удаленному серверу.
Рис. 1. Пользовательский интерфейс средства копирования веб-сайта разделен на две области (щелкните, чтобы просмотреть изображение полного размера)
Чтобы развернуть наш сайт, необходимо сначала подключиться к поставщику веб-узлов. Нажмите в верхней части пользовательского интерфейса "Копировать веб-сайт" кнопку "Подключиться". Откроется диалоговое окно "Открыть веб-сайт", показанное на рис. 2.
Вы можете подключиться к целевому веб-сайту, выбрав один из четырех вариантов слева:
- Файловая система — выберите ее, чтобы развернуть сайт в папке или сетевом ресурсе, доступном на компьютере.
- Локальные службы IIS — используйте этот параметр для развертывания сайта на веб-сервере IIS, установленном на компьютере.
- FTP-сайт — подключение к удаленному веб-сайту с помощью FTP.
- Удаленный сайт — подключение к удаленному веб-сайту с помощью расширений сервера FrontPage.
Большинство поставщиков веб-узлов поддерживают FTP, но меньше предложений поддержки расширения сервера FrontPage. По этой причине я выбрал параметр FTP-сайта, а затем ввел сведения о подключении, как показано на рис. 2.
Рис. 2. Указание целевого веб-сайта (щелкните, чтобы просмотреть изображение полного размера)
После подключения средство копирования веб-сайта загружает файлы на удаленном сайте в правой области и указывает состояние каждого файла: "Создать", "Удалить", "Изменено" или "Без изменений". Файл можно скопировать с локального сайта на удаленный сайт или наоборот.
Давайте добавим новую страницу в проект BookReviewsWSP, а затем развернем ее, чтобы увидеть средство копирования веб-сайта в действии. Создайте новую страницу ASP.NET в Visual Studio в корневом каталоге с именем Privacy.aspx. Используйте основную страницу Site.master и добавьте политику конфиденциальности вашего сайта на эту страницу. На рисунке 3 показана Visual Studio после создания этой страницы.
Добавьте новую страницу с именем <code>Privacy.aspx</code> в корневой каталог веб-сайта.
Рис. 3. Добавление новой страницы с именем Privacy.aspx в корневую папку веб-сайта (щелкните, чтобы просмотреть изображение полного размера)
Затем вернитесь к пользовательскому интерфейсу копирования веб-сайта. Как показано на рисунке 4, левая панель теперь включает новые файлы - Policy.aspx и Policy.aspx.vb. Кроме того, эти файлы помечены значком со стрелкой и состоянием "Создать", указывая, что они существуют на локальном сайте, но не на удаленном сайте.
Рис. 4. Средство копирования веб-сайта включает новую Privacy.aspx страницу в левой области (щелкните, чтобы просмотреть изображение полного размера)
Чтобы развернуть новые файлы, выберите их, а затем щелкните значок со стрелкой, чтобы передать их на удаленный сайт. После завершения Policy.aspx передачи файлы существуют как на локальных, так и Policy.aspx.vb на удаленных сайтах с состоянием "Без изменений".
Наряду с описанием новых файлов средство копирования веб-сайта выделяет все файлы, которые отличаются между локальными и удаленными сайтами. Чтобы увидеть это в действии, вернитесь на Privacy.aspx страницу и добавьте несколько слов в политику конфиденциальности. Сохраните страницу и вернитесь к средству копирования веб-сайта. Как показано на рисунке 5, страница в левой области имеет состояние "Изменено", Privacy.aspx указывающее, что оно не синхронизировано с удаленным сайтом.
Рис. 5. Средство копирования веб-сайта указывает, что Privacy.aspx страница была изменена (щелкните, чтобы просмотреть изображение полного размера)
Инструмент копирования веб-сайта также указывает, был ли файл удален с момента последнего копирования. Удалите Privacy.aspx из локального проекта и обновите средство копирования веб-сайта. Файлы Privacy.aspx и Privacy.aspx.vb остаются в левой области, но имеют статус "Удалено", что указывает на их удаление после последней операции копирования.
Публикация веб-приложения
Другой способ развертывания веб-приложения из Visual Studio — использовать опцию публикации, которая доступна в меню "Сборка". Параметр публикации явно компилирует приложение, а затем копирует все необходимые файлы до указанного удаленного сайта. Как мы увидим в ближайшее время, параметр "Публикация" является более прямолинейным, чем средство копирования веб-сайта. В то время как средство копирования веб-сайта позволяет проверять файлы на локальных и удаленных сайтах и позволяет отправлять или скачивать отдельные файлы по мере необходимости, параметр "Публикация" развертывает все веб-приложение.
Помимо копирования всех необходимых файлов на указанный удаленный сайт, параметр публикации также явно компилирует приложение. Учитывая, что проекты веб-приложений должны быть явно скомпилированы, он не должен быть удивлен тем, что параметр публикации доступен для проектов веб-приложений. Что может быть немного удивительно, что параметр "Опубликовать" также доступен для проектов веб-сайтов. Как отмечалось в руководстве по определению необходимости развертывания файлов , проекты веб-сайта можно явно скомпилировать с помощью процесса, называемого предварительной компиляцией. В этом руководстве основное внимание уделяется использованию параметра "Публикация" с проектами веб-приложений; В будущем руководстве будет рассмотрена предварительная компиляция, в которой мы вернемся к использованию параметра "Публикация" с проектами веб-сайта.
Замечание
Хотя параметр публикации доступен в Visual Studio для проектов веб-сайтов и проектов веб-приложений, Visual Web Developer предлагает только вариант публикации для проектов веб-приложений.
Давайте рассмотрим развертывание приложения "Отзывы книг" с помощью параметра "Опубликовать". Начните с открытия BookReviewsWAP (проекта веб-приложения) в Visual Studio. В меню "Публикация" выберите проект Build BookReviewsWAP. Откроется диалоговое окно, которое запрашивает целевое расположение, среди других параметров конфигурации (см. рис. 6). Как и в средстве копирования веб-сайта, можно ввести расположение, указывающее на локальную папку, локальный веб-сайт в IIS, удаленный веб-сайт, поддерживающий расширения сервера FrontPage или АДРЕС FTP-сервера. Вы можете выбрать, следует ли заменить файлы на удаленном веб-сервере развернутыми файлами или удалить все содержимое на удаленном сайте перед публикацией. Можно также указать, следует ли копировать:
- Только файлы в проекте, необходимые для запуска приложения, которые не включают ненужный исходный код и файлы, связанные с проектом.
- Все файлы проекта, в том числе файлы исходного кода и файлы проекта Visual Studio, такие как файл решения.
- Все файлы в папке исходного проекта, которые копируют все файлы в папке исходного проекта независимо от того, включены ли они в проект.
Существует также возможность отправить содержимое App_Data папки.
Рис. 6. Укажите целевой веб-сайт (щелкните, чтобы просмотреть изображение полного размера)
Для приложения Book Review удаленный сайт содержит файлы, которые развертываются при копировании проекта BookReviewsWSP с помощью инструмента «Копирование веб-сайта». Давайте начнем с того, что опция "Публикация" удалит все существующее содержимое. Кроме того, давайте просто скопируйм необходимые файлы, а не загромождаем рабочую среду с ненужным исходным кодом и файлами проекта. После указания этих параметров нажмите кнопку "Опубликовать". В течение следующих нескольких секунд Visual Studio развернет необходимые файлы на целевом сайте, отображая ход выполнения в окне вывода.
На рисунке 7 показаны файлы на FTP-сайте после завершения операции публикации. Обратите внимание, что были отправлены только страницы разметки и необходимые файлы поддержки на стороне клиента.
Рис. 7. Только необходимые файлы были опубликованы в рабочей среде (щелкните, чтобы просмотреть изображение полного размера)
Инструмент "Опубликовать" является менее сложным, чем средство копирования веб-сайта. В то время как средство копирования веб-сайта позволяет проверять файлы на локальных и удаленных сайтах и видеть, как они отличаются, параметр "Публикация" не предоставляет такого интерфейса. Кроме того, средство копирования веб-сайта позволяет вносить однократные изменения, отправлять или удалять отдельные файлы. Параметр "Опубликовать" не разрешает такой точный контроль; Вместо этого он публикует все приложение. Это поведение имеет свои плюсы и минусы. С положительной стороны, вы можете быть уверены, что при использовании параметра 'Публикация' вы не забудете загрузить важный файл. Но подумайте, что произойдет, если вы внесли небольшое изменение на очень большой веб-сайт. С опцией публикации вы не можете обновить эту или две измененные страницы, но вместо этого необходимо ждать, пока Visual Studio развернет весь сайт.
Не является редкостью, когда содержимое некоторых файлов отличается между продуктовыми и средами разработки. Ключевым примером является файл конфигурации приложения. Web.config Так как параметр публикации автоматически копирует файлы веб-приложения, он перезаписывает настраиваемые файлы конфигурации рабочей среды с версией в среде разработки. В следующем руководстве подробно рассматривается этот раздел и предлагаются советы по развертыванию веб-приложения при наличии таких различий.
Сводка
Развертывание веб-сайта включает копирование необходимых файлов из среды разработки в рабочую среду. В предыдущем руководстве показано, как передавать файлы с помощью FTP-клиента, например FileZilla. В этом руководстве рассматриваются два средства развертывания в Visual Studio: средство копирования веб-сайта и параметр "Опубликовать". Средство копирования веб-сайта похоже на FTP-клиент с двухпанельным интерфейсом, перечисляющим файлы на локальном компьютере и на указанном удаленном компьютере, что облегчает отправку и получение файлов между двумя компьютерами. Параметр публикации — это более грубый инструмент, который явно компилирует проект, а затем развертывает все приложение в указанное место.
Счастливое программирование!
Дальнейшее чтение
Дополнительные сведения о разделах, описанных в этом руководстве, см. в следующих ресурсах: