Публикация веб-узлов

Visual Studio 2010

Обновлен: Ноябрь 2007

Visual Web Developer позволяет публиковать веб-узлы; при этом узел компилируется, и полученные выходные файлы копируются в указанное разработчиком место — например, на рабочий сервер. В ходе публикации выполняются следующие задачи:

  • Предварительная компиляция страниц, исходного кода в папке App_Code и т. д. с формированием исполняемых выходных файлов.

  • Запись исполняемых выходных файлов в целевую папку.

377y0s6t.alert_note(ru-ru,VS.100).gifПримечание.

Программа публикации веб-узла недоступна в Visual Web Developer, экспресс-выпуск.

Публикация веб-узла обеспечивает следующие преимущества по сравнению с простым копированием веб-узла на целевой веб-сервер:

  • В процессе предкомпиляции выявляются все ошибки компиляции и определяются ошибки в файле конфигурации.

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

  • Программный код не попадает на узел, что служит в качестве меры по защите файлов. Узел можно опубликовать с защитой разметки (при этом файлы ASPX будут скомпилированы) или без нее — при этом файлы ASPX будут скопированы на веб-узел без изменений, что позволяет изменять их структуру после развертывания.

    377y0s6t.alert_note(ru-ru,VS.100).gifПримечание.

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

Дополнительные сведения см. в разделе Общие сведения о предварительной компиляции в ASP.NET.

Первым шагом при публикации является предварительная компиляция веб-узла. Предварительная компиляция для публикации несколько отличается от предкомпиляции на месте (которая в Visual Web Developer называется построением). В ходе предварительной компиляции выполняется практически такой же процесс компиляции, как и при динамической компиляции страницы при поступлении запроса от обозревателя. Модуль предварительной компиляции создает из страниц сборки, в которые включается как разметка, так и код. При этом также компилируются файлы в папках App_Code, App_GlobalResources, App_LocalResources и App_Themes.

Компилировать можно как однофайловые страницы ASP.NET, так и страницы с выделенным кодом. Дополнительные сведения об этих двух моделях см. в разделе Модель кода веб-страниц ASP.NET.

Выбор между предкомпиляцией и построением

Шаг предкомпиляции при публикации отличается от компиляции, происходящей при построении веб-узла в ходе его тестирования. При построении компилируется и запускается весь узел, или же текущая страница и ее зависимые файлы. Процесс построения — это форма тестирования, при которой не создаются выходные файлы, пригодные для развертывания. Предварительная компиляция при публикации, напротив, формирует выходные файлы в заданной папке, которую можно развернуть на рабочем сервере.

После завершения процесса предварительной компиляции результирующие выходные файлы записываются в указанную разработчиком папку. Выходные файлы можно записать в любую папку, доступную в пределах файловой системы, по протоколу FTP или HTTP. Необходимо наличие разрешений, достаточных для записи в целевую папку.

377y0s6t.alert_note(ru-ru,VS.100).gifПримечание.

В процессе публикации развертываются только файлы, находящиеся в папках и подпапках веб-узла. Файл Machine.config не развертывается. Поэтому конфигурация целевого веб-сервера может отличаться от компьютера, на котором велась разработка, что может повлиять на работу приложения.

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

377y0s6t.alert_note(ru-ru,VS.100).gifПримечание.

При открытии предкомпилированного веб-узла с помощью Visual Studio построение веб-узла будет недоступно. Параметры построения будут отключены. Рекомендуется отредактировать файлы на исходном веб-узле, предкомпилировать его и снова опубликовать.

В состав выходных файлов процесса предкомпиляции ходят скомпилированные сборки всего кода и всех страниц. Если выбран параметр, допускающий обновление предкомпилированного узла, то все классы с выделенным кодом для файлов ASPX, ASMX и ASHX будут скомпилированы в сборки. Тем не менее, сами файлы ASPX, ASMX и ASHX будут скопированы в целевую папку без изменений, чтобы их структуру можно было менять после развертывания веб-узла. Код в однофайловых страницах веб-узла, допускающего обновление, не компилируется в сборку, а развертывается в исходном виде.

Статические файлы не компилируются. Вместо этого они копируются в выходную папку в исходном виде. К статическим файлам относятся изображения, HTM или HTML-файлы, текстовые файлы и т. п.

Если в ходе предварительной компиляции происходит ошибка, то сообщение о ней появляется в окнах Вывод и Список ошибок. Возникновение ошибок в ходе предкомпиляции ведет к отмене компиляции и публикации веб-узла.

Показ: