Публикация веб-узлов
Обновлен: Ноябрь 2007
Visual Web Developer позволяет публиковать веб-узлы; при этом узел компилируется, и полученные выходные файлы копируются в указанное разработчиком место — например, на рабочий сервер. В ходе публикации выполняются следующие задачи:
Предварительная компиляция страниц, исходного кода в папке App_Code и т. д. с формированием исполняемых выходных файлов.
Запись исполняемых выходных файлов в целевую папку.
Примечание. |
---|
Программа публикации веб-узла недоступна в Visual Web Developer, экспресс-выпуск. |
Публикация веб-узла обеспечивает следующие преимущества по сравнению с простым копированием веб-узла на целевой веб-сервер:
В процессе предкомпиляции выявляются все ошибки компиляции и определяются ошибки в файле конфигурации.
Скорость начального отклика для отдельных страниц повышается, поскольку страницы уже скомпилированы. Если страницы просто копируются на веб-узел без предварительной компиляции, то они будут компилироваться по запросу, и выход компиляции будет помещен в кэш.
Программный код не попадает на узел, что служит в качестве меры по защите файлов. Узел можно опубликовать с защитой разметки (при этом файлы ASPX будут скомпилированы) или без нее — при этом файлы ASPX будут скопированы на веб-узел без изменений, что позволяет изменять их структуру после развертывания.
Примечание. Если публикуемое приложение содержит ссылку на пользовательский компонент, зарегистрированный в глобальном кэше сборок, то этот компонент не будет публиковаться вместе с приложением. Дополнительные сведения см. в разделе Практическое руководство. Добавление ссылки на компонент .NET или COM на веб-узле.
Дополнительные сведения см. в разделе Общие сведения о предварительной компиляции в ASP.NET.
Предварительная компиляция
Первым шагом при публикации является предварительная компиляция веб-узла. Предварительная компиляция для публикации несколько отличается от предкомпиляции на месте (которая в Visual Web Developer называется построением). В ходе предварительной компиляции выполняется практически такой же процесс компиляции, как и при динамической компиляции страницы при поступлении запроса от обозревателя. Модуль предварительной компиляции создает из страниц сборки, в которые включается как разметка, так и код. При этом также компилируются файлы в папках App_Code, App_GlobalResources, App_LocalResources и App_Themes.
Компилировать можно как однофайловые страницы ASP.NET, так и страницы с выделенным кодом. Дополнительные сведения об этих двух моделях см. в разделе Модель кода веб-страниц ASP.NET.
Выбор между предкомпиляцией и построением
Шаг предкомпиляции при публикации отличается от компиляции, происходящей при построении веб-узла в ходе его тестирования. При построении компилируется и запускается весь узел, или же текущая страница и ее зависимые файлы. Процесс построения — это форма тестирования, при которой не создаются выходные файлы, пригодные для развертывания. Предварительная компиляция при публикации, напротив, формирует выходные файлы в заданной папке, которую можно развернуть на рабочем сервере.
Запись выходных файлов предварительной компиляции
После завершения процесса предварительной компиляции результирующие выходные файлы записываются в указанную разработчиком папку. Выходные файлы можно записать в любую папку, доступную в пределах файловой системы, по протоколу FTP или HTTP. Необходимо наличие разрешений, достаточных для записи в целевую папку.
Примечание. |
---|
В процессе публикации развертываются только файлы, находящиеся в папках и подпапках веб-узла. Файл Machine.config не развертывается. Поэтому конфигурация целевого веб-сервера может отличаться от компьютера, на котором велась разработка, что может повлиять на работу приложения. |
Можно указать целевую папку на промежуточном или рабочем сервере, или же записать выходные файлы в папку на локальном компьютере. При указании папки на рабочем сервере предкомпиляцию и развертывание можно провести за один шаг. Если же выходные файлы записываются в папку, не являющуюся частью веб-узла, то можно скопировать их на сервер отдельно.
Примечание. |
---|
При открытии предкомпилированного веб-узла с помощью Visual Studio построение веб-узла будет недоступно. Параметры построения будут отключены. Рекомендуется отредактировать файлы на исходном веб-узле, предкомпилировать его и снова опубликовать. |
В состав выходных файлов процесса предкомпиляции ходят скомпилированные сборки всего кода и всех страниц. Если выбран параметр, допускающий обновление предкомпилированного узла, то все классы с выделенным кодом для файлов ASPX, ASMX и ASHX будут скомпилированы в сборки. Тем не менее, сами файлы ASPX, ASMX и ASHX будут скопированы в целевую папку без изменений, чтобы их структуру можно было менять после развертывания веб-узла. Код в однофайловых страницах веб-узла, допускающего обновление, не компилируется в сборку, а развертывается в исходном виде.
Статические файлы не компилируются. Вместо этого они копируются в выходную папку в исходном виде. К статическим файлам относятся изображения, HTM или HTML-файлы, текстовые файлы и т. п.
Если в ходе предварительной компиляции происходит ошибка, то сообщение о ней появляется в окнах Вывод и Список ошибок. Возникновение ошибок в ходе предкомпиляции ведет к отмене компиляции и публикации веб-узла.
См. также
Задачи
Пошаговое руководство. Публикация веб-узла