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

; автор — Том ФитцМакен (Tom FitzMacken)

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

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

  • Microsoft Azure
  • Компания по размещению веб-сайтов

Сведения о публикации сайта

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

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

Примечание

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

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

Это руководство содержит четыре раздела:

  1. Настройка страницы по умолчанию
  2. Публикация (выберите один из следующих вариантов)
    а. Публикация сайта в Microsoft Azure
    b. Публикация сайта в компании по размещению веб-сайтов
  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 с именем по умолчанию недоступно, как указано красным восклицательным знаком.

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

Снимок экрана: окно Создания сайта в Windows Azure с измененным именем сайта в поле Имя сайта.

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

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

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

Выберите Continue (Продолжить).

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

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

Выберите Continue (Продолжить).

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

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

Выберите Continue (Продолжить).

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

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

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

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

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

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

Щелкните ссылку Найти веб-хостинг .

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

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

Снимок экрана: страница веб-размещения Microsoft Find, на которой показан список поставщиков услуг размещения, поддерживающих точку A P.Net.

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

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

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

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

Примечание

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

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

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

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

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

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

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

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

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

Нажмите кнопку Save (Сохранить), чтобы сохранить настройки. 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 (бета-версия).

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