Знакомство с веб-страницами ASP.NET — публикация сайта с помощью WebMatrix

Tom FitzMacken

Это последнее руководство в наборе учебников, включающее ASP.NET веб-страницы и Microsoft WebMatrix. В нем описывается, как опубликовать свой сайт в Интернете, чтобы другие могли работать с ним. Предполагается, что вы завершили серию работ, связанных с Созданием Согласованного Внешнего Вида для Сайтов на ASP.NET Web Pages.

Вы узнаете, как опубликовать сайт с помощью:

  • Microsoft Azure
  • Компания веб-хостинга

О том, как опубликовать ваш сайт

До сих пор вы выполнили всю работу на локальном компьютере, включая тестирование страниц. Чтобы запустить страницы CSHTML , вы использовали веб-сервер, встроенный в WebMatrix, а именно IIS Express. Но, конечно, никто не может видеть сайт, который вы создали, кроме вас. Чтобы другие пользователи могли работать с сайтом, необходимо опубликовать его в Интернете.

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

Замечание

У вас может быть доступ к общедоступному веб-серверу через поставщика услуг Интернета (ISP), который вы используете для получения интернет-службы дома. Однако поставщик услуг размещения должен поддерживать ASP.NET веб-страницы. Многие интернет-провайдеры этого не делают, но всегда стоит проверить.

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

В этом руководстве содержатся четыре раздела:

  1. Настройка страницы по умолчанию
  2. Публикация (выберите один из следующих вариантов)
    a. Публикация сайта в Microsoft Azure
    б. Размещение сайта на веб-хостинге
  3. Обновление динамического сайта: повторная публикация

Настройка страницы по умолчанию

Когда пользователь переходит к базовому адресу веб-сайта, страница по умолчанию для сайта отображается пользователю. Например, если Default.htm задано как страница по умолчанию для сайта, www.contoso.comто переход www.contoso.com к ней совпадает с переходом по адресу www.contoso.com/Default.htm.

В настоящее время сайт использует Default.cshtml в качестве страницы по умолчанию. Эта страница подходит для страницы по умолчанию, но в этом руководстве вы не добавили на нее содержимое, поэтому она будет отображать пустую страницу. Откройте default.cshtml и замените содержимое следующим кодом.

@{
    Layout = "~/_Layout.cshtml";
    Page.Title = "Welcome to Movie site";   
}

<p><a href="~/Movies">Go to movie listing</a></p>

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

Публикация сайта в Microsoft Azure

В этом руководстве сначала показано, как развернуть сайт в Microsoft Azure. Выполнив вход с помощью учетной записи Майкрософт, вы можете создать до 10 бесплатных сайтов в Azure. Эти бесплатные сайты предоставляют удобный способ тестирования сайтов. Вы всегда можете удалить этот пример сайта позже, чтобы избежать использования всех бесплатных сайтов. Вы можете создать бесплатную пробную учетную запись всего за несколько минут. Дополнительные сведения см. в статье "Бесплатная пробная версия Azure".

На ленте WebMatrix нажмите кнопку "Опубликовать ".

Снимок экрана: лента веб-матрицы с выделенной кнопкой

Откроется диалоговое окно "Публикация сайта ". Если вы не вошли в учетную запись Майкрософт, диалоговое окно будет содержать ссылку "Начало работы с Azure ". Щелкните эту ссылку.

Снимок экрана: диалоговое окно

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

Снимок экрана: диалоговое окно входа в Microsoft Windows Azure с учетной записью Майкрософт и учетной записью организации.

После входа в учетную запись Майкрософт диалоговое окно содержит ссылки на создание нового сайта в Azure или подключение к одному из существующих сайтов в Azure.

Снимок экрана: диалоговое окно

Выберите "Создать сайт".

Если вы назвали проект WebPagesMovies, имя по умолчанию для сайта будет webpagesmovies.azurewebsites.net. Это имя по умолчанию, скорее всего, недоступно, как указано красным восклицательным знаком.

Снимок экрана: окно создания сайта в Windows Azure с именем по умолчанию недоступно, как указано красным восклицательным знаком.

Измените имя сайта на то, что доступно, и выберите расположение, близкое к вашему расположению.

Снимок экрана: окно

Нажмите кнопку ОК.

WebMatrix выполняет тест, чтобы определить, совместим ли сервер с сайтом.

Снимок экрана: окно веб-матрицы с сообщением о том, что тест сервера инициируется после нажатия кнопки

Нажмите Продолжить.

Отображаются результаты теста совместимости.

Снимок экрана: окно веб-матрицы с результатами теста совместимости с успешными элементами, указанными зеленым значком флажка.

Нажмите Продолжить.

WebMatrix отображает файлы и базы данных, которые будут опубликованы на сайте. Так как это первый раз, когда вы публикуете сайт, отображаются все файлы. Вы можете снять флажок файла, который не готов к публикации. В последующих публикациях будут отображаться только измененные файлы. См . статью "Обновление динамического сайта: повторная публикация".

Снимок экрана: окно

Нажмите Продолжить.

После развертывания сайта в Azure отображается сообщение, указывающее, что развертывание завершено.

Снимок экрана: сообщение о завершении публикации, указывающее, что развертывание веб-сайта выполнено успешно.

Сайт и база данных были опубликованы в Azure и теперь доступны для общественности. Щелкните ссылку в сообщении, указывающее, что публикация завершена, и вы увидите развернутый сайт. Вы или любой пользователь с доступом к Интернету может добавлять или изменять записи в базе данных.

Снимок экрана: развернутый веб-сайт, показывающий U R L в адресной строке, выделенной красным прямоугольником.

Публикация вашего сайта на веб-хостинг-платформу

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

Щелкните ссылку "Найти веб-размещение ".

Снимок экрана диалогового окна «Публикация сайта», где ссылка «Веб-хостинг для Windows» выделена красным прямоугольником.

Перейдите на страницу на сайте Майкрософт, в котором перечислены поставщики услуг размещения, поддерживающие ASP.NET.

Снимок экрана страницы Microsoft Find Web Hosting с списком поставщиков услуг размещения, поддерживающих ASP.NET.

Очевидно, что сейчас трудно знать, какие функции размещения могут потребоваться в долгосрочной перспективе. Вот несколько вещей, которые следует рассмотреть:

  • Для целей сайта WebPagesMovies вам не нужно иметь отдельную надстройку для SQL Server, которая часто стоит дополнительно. На сайте используется SQL Server Compact Edition, который является автономным. Однако вам может потребоваться доступ к SQL Server для некоторых будущих работ веб-сайта. Если вы полагаете, что это может потребоваться, убедитесь, что возможности SQL Server могут быть добавлены позже.
  • Проверьте, поддерживает ли поставщик размещения протокол публикации Web Deploy. Вы можете опубликовать с помощью протокола FTP, но удобнее использовать веб-развертывание.

Некоторые сайты предлагают бесплатный пробный период. Бесплатная пробная версия — это хороший способ попробовать публикацию и размещение, пока вы всё ещё экспериментируете с WebMatrix и веб-страницами ASP.NET.

Выберите тот, который вам нравится. В этом руководстве мы выбрали DiscountASP.NET, так как при разработке этого руководства у компании была акция, позволяющая пользователям бесплатно размещать сайт в течение нескольких месяцев.

Замечание

Наш выбор поставщика услуг размещения для этого руководства не должен быть интерпретирован как рекомендация этой компании вместо любой другой. Но нам пришлось выбрать одну для иллюстрации, и DiscountASP.NET является одной из многих компаний, которые поддерживают ASP.NET Web Pages и протокол Web Deploy для публикации.

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

После регистрации и готовности к публикации нажмите кнопку "Опубликовать " на ленте WebMatrix. Откроется диалоговое окно "Параметры публикации ".

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

Снимок экрана: диалоговое окно

Нажмите кнопку "Проверить подключение". Если все в порядке, диалоговое окно сообщает об успешном подключении, что означает, что он может взаимодействовать с сервером поставщика услуг размещения.

Снимок экрана: кнопка

Если возникла проблема, WebMatrix делает все возможное, чтобы рассказать вам, что такое проблема:

Снимок экрана: кнопка

Нажмите кнопку "Сохранить", чтобы сохранить параметры. WebMatrix предлагает выполнить тест, чтобы убедиться, что он может правильно взаимодействовать с сайтом размещения:

Снимок экрана диалогового окна

Нажмите кнопку Да. WebMatrix отправляет некоторые примеры файлов поставщику услуг размещения. После завершения проверки совместимости WebMatrix сообщает результаты:

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

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

Снимок экрана: окно

Список файлов для публикации включает веб-страницы, созданные как Movies.cshtml. В списке также содержатся файлы вспомогательных служб, которые вы установили, файлы для запуска SQL Server Compact Edition для базы данных и т. д. В результате начальный процесс публикации может быть существенным.

Нажмите кнопку Продолжить. WebMatrix копирует файлы на сервер поставщика услуг размещения. По завершении результаты отображаются в строке состояния:

Снимок экрана: строка состояния с выделенным желтым сообщением после успешного завершения процесса публикации.

Чтобы просмотреть динамический сайт, щелкните ссылку в строке состояния. Добавьте фильмы в URL-адрес, и вы увидите созданный файл Movies.cshtml :

Снимок экрана, показывающий активный сайт с измененным файлом Movies dot c s h t m l, путем изменения выделенного красным URL в адресной строке.

Обновление динамического сайта: повторная публикация

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

Чтобы узнать, как работает повторная публикация, откройте сайт Movies.cshtml , внесите небольшое изменение и сохраните файл. Например, измените заголовок на Movies - Updated.

Нажмите кнопку "Опубликовать " на ленте. WebMatrix определяет, что изменилось и отображает предварительный просмотр файлов, которые будут публиковаться.

Снимок экрана: диалоговое окно

Это важно

По умолчанию WebMatrix публикует базу данных (SDF-файл ) только при первой публикации сайта. После публикации сайта и взаимодействия с веб-сайтом база данных на динамическом сайте обычно имеет реальные данные сайта. Необходимо быть очень осторожным, чтобы не перезаписать динамическую базу данных с помощью SDF-файла , который находится на компьютере, который обычно содержит только тестовые данные. Поэтому вы видите предупреждение Публикация перезапишет любые удаленные базы данных, и именно поэтому флажок WebPagesMovies.sdf по умолчанию снят.

Нажмите кнопку Продолжить. WebMatrix публикует измененные файлы и отображает сообщение об успешном выполнении, как и в первый раз при публикации.

Перейдите на динамический сайт (вы можете щелкнуть ссылку в сообщении об успешном выполнении, если оно по-прежнему отображается) и убедиться, что изменение опубликовано.

Подсказка

Удаленное редактирование файлов

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

Удаленное редактирование — это простой способ внести изменения в динамический сайт. Однако изменения, внесенные таким образом, не синхронизируются с файлами на локальном сайте. Чтобы синхронизировать локальные файлы с удаленным сайтом, можно скачать удаленные файлы. Этот процесс работает так же, как публикация, только в обратном порядке.

Здесь мы не будем описывать дополнительные сведения о средствах удаленного редактирования и удаленного скачивания WebMatrix. Они довольно полезны, если несколько пользователей должны работать на одном сайте на разных компьютерах. Дополнительные сведения см. в статье "Публикация и изменение удаленного сайта" с помощью бета-версии WebMatrix 2.

Дополнительные ресурсы