Варианты размещения в ASP.NET (C#)
ASP.NET веб-приложения обычно разрабатываются, создаются и тестируются в локальной среде разработки и должны быть развернуты в рабочей среде, когда она будет готова к выпуску. В этом руководстве представлен общий обзор процесса развертывания и приведены общие сведения о данной серии учебников.
Введение
Веб-приложения обычно разрабатываются, создаются и тестируются в среде разработки, доступной только программистам, работающим на сайте. Когда приложение будет готово к выпуску, оно перемещается в рабочую среду, где к сайту может получить доступ любой пользователь в Интернете. Этот процесс развертывания сопряжен с рядом проблем:
- Перед развертыванием приложения ASP.NET должна существовать и правильно настроена рабочая среда; кроме того, рабочая среда должна поддерживаться в актуальном состоянии с помощью последних исправлений для системы безопасности.
- Правильный набор файлов разметки, файлов кода и файлов поддержки должен быть скопирован из среды разработки в рабочую среду. Для приложений, управляемых данными, может потребоваться копирование схемы базы данных и (или) данных.
- Между двумя средами могут существовать различия в конфигурации. Строка подключения к базе данных или почтовый сервер, используемые в среде разработки, скорее всего, будут отличаться от рабочей среды. Более того, поведение приложения может зависеть от среды. Например, при возникновении ошибки при разработке сведения об ошибке могут отображаться на экране, но при возникновении ошибки в рабочей среде вместо нее должна отображаться удобная страница ошибки, а сведения об ошибке отправляться разработчикам по электронной почте.
Для устранения первой проблемы - настройки и обслуживания рабочей среды - многие частные лица и предприятия передают свои производственные среды поставщикам услуг веб-хостинга. Поставщик веб-услуг размещения — это компания, которая управляет рабочей средой от вашего имени. Существует бесчисленное множество поставщиков веб-узлов, каждый из которых имеет различные цены и уровни обслуживания; Советы по поиску такого поставщика услуг см. в разделе "Поиск поставщика веб-узла".
Это первое из серии учебников, в которых описываются шаги, связанные с развертыванием веб-приложения ASP.NET в рабочей среде, управляемой поставщиком веб-узла. В ходе работы с этими руководствами мы рассмотрим:
- Какие файлы необходимо развернуть в поставщике веб-узла.
- Средства для оптимизации процесса развертывания.
- Развертывание базы данных.
- Советы по развертыванию базы данных, в которой используется поставщик членства и ролей на основе SQL, а также способы имитации средства администрирования веб-сайтов в рабочей среде.
- Стратегии плавного обновления базы данных в рабочей среде с помощью изменений, внесенных во время разработки.
- Методы ведения журнала ошибок, возникающих в рабочей среде, и способы уведомления разработчиков о возникновении ошибки.
Эти учебники предназначены для того, чтобы быть краткими и предоставить пошаговые инструкции с большим количеством снимков экрана, чтобы наглядно провести процесс. В этом первом руководстве представлен обзор процесса развертывания ASP.NET и рекомендации по поиску поставщика услуг веб-хостинга. Приступим к работе!
Обзор процесса развертывания ASP.NET
В двух словах развертывание приложения ASP.NET состоит из следующих трех этапов:
- Настройте веб-приложение, веб-сервер и базу данных в рабочей среде.
- Синхронизация ASP.NET страниц, файлов кода, сборок в папке
Bin
и файлов поддержки, связанных с HTML, таких как файлы CSS и JavaScript. - Синхронизация схемы базы данных и (или) данных.
Сведения о конфигурации веб-приложения обычно находятся в Web.config
файле и включают строки подключения к базе данных, условия обработки ошибок, правила перезаписи URL-адресов и сведения о сервере электронной почты. Часто эти сведения отличаются для приложения в разработке и одного и того же приложения в рабочей среде. Например, при разработке приложения лучше использовать базу данных разработки, чтобы не выполнять тестирование с рабочей базой данных. В результате строки подключения к базе данных обычно различаются для приложений разработки и рабочих приложений. Из-за этих различий часть развертывания включает внесение изменений в сведения о конфигурации веб-приложения.
Помимо изменений конфигурации веб-приложения, шаг 1 также может повлечь за собой настройку веб-сервера и базы данных. Например, если страница ASP.NET создает или удаляет файлы из каталога на веб-сервере, необходимо настроить веб-сервер таким образом, чтобы разрешить эти изменения файловой системы. Аналогичным образом могут быть заданы разрешения или параметры проверки подлинности, которые необходимо добавить в базу данных.
Шаг 2 включает синхронизацию набора важных ASP.NET страниц и файлов поддержки между средами разработки и рабочей средой. Конкретный набор файлов, связанных с ASP.NET, которые необходимо синхронизировать между двумя средами, зависит от типа проекта, созданного в Visual Studio, и рассматривается в следующем руководстве Определение файлов, которые необходимо развернуть. В третьем и четвертом руководствах — Развертывание сайта с помощью FTP и Развертывание сайта с помощью Visual Studio — рассматриваются различные средства и методы синхронизации этих файлов.
При создании приложений, управляемых данными, обычно используются две базы данных: одна для разработки и одна в рабочей среде. Во время разработки схема базы данных разработки может быть изменена для включения новых таблиц, столбцов, хранимых процедур и триггеров, или может быть изменена для удаления или переименования существующих объектов базы данных. Между временем внесения этих изменений и временем развертывания приложения в рабочей среде базы данных разработки и рабочей базы данных не синхронизированы. Эту асинхронную синхронизацию необходимо исправить в процессе развертывания. Эти проблемы будут рассмотрены в будущих руководствах.
Поиск поставщика веб-узла
ASP.NET приложения можно развернуть на любом веб-сервере, на котором установлены платформа .NET Framework и службы IIS. Вы можете разместить сайт с личного компьютера, при условии, что у вас есть широкополосное подключение к Интернету и вы знаете, как настроить маршрутизатор для разрешения входящих веб-запросов. Вы также можете разместить сайт с компьютера в интрасети, как это делают многие компании. Однако в этих руководствах основное внимание уделяется размещению веб-сайта с помощью поставщика веб-узла.
Примечание
IIS — это веб-сервер корпоративного уровня корпорации Майкрософт. Она поставляется с не домашними выпусками Windows, такими как Windows Server 2008 и некоторые выпуски Windows Vista. Для обслуживания ASP.NET приложений в среде разработки устанавливать службы IIS не требуется, так как Visual Studio включает веб-сервер разработки ASP.NET. Однако веб-сервер разработки ASP.NET принимает только локальные подключения и поэтому не может использоваться в рабочей среде.
Перед развертыванием сайта у поставщика веб-узла необходимо сначала решить, с какой компанией следует работать. На рынке есть бесчисленное множество компаний по размещению веб-хостинга; поиск "веб-хостинг компании" возвращает более пяти миллионов результатов. Как найти тот, который подходит вам? Ваша любимая поисковая система является хорошей отправной точкой, как и веб-сайты, такие как TopHosts и HostCritique, которые сравнивают и контрастируют различные службы размещения. Я также советую попросить ваших коллег и коллег о каких-либо рекомендациях; Вы также можете запросить рекомендации на открытом форуме хостинга здесь, на форумах ASP.NET.
Компании по размещению веб-сайтов обычно предлагают общие и выделенные планы размещения. При совместном размещении на одном веб-сервере размещаются десятки, если не сотни различных веб-сайтов. С выделенным размещением вы арендуете компьютер у компании, которая обслуживает ваш сайт и ваш сайт в одиночку. Общий план размещения может включать поддержку ASP.NET страниц, возможность работы с базами данных Microsoft Access, 5 ГБ дискового пространства и 100 ГБ трафика ежемесячной пропускной способности за 9,95 долл. США в месяц. Другой общий план размещения может включать поддержку ASP.NET страниц, доступ к серверу базы данных Microsoft SQL Server 2008, 10 ГБ дискового пространства и 250 ГБ трафика ежемесячной пропускной способности за 19,95 долл. США в месяц. Выделенные планы размещения, как правило, гораздо дороже, стоимостью несколько сотен долларов в месяц, но предлагают более высокую производительность и больший контроль, чем варианты общего размещения. Выбор плана зависит от бюджета, объема трафика, получаемого веб-сайтом, и ожидаемых функций, которые вам понадобятся.
При выборе поставщика веб-узла следует учитывать два важных момента: обслуживание клиентов и качество обслуживания. Если у вас есть вопрос или проблема с конфигурацией, сколько времени занимает отправка проблемы в службу технической поддержки веб-узла, пока вы не получите ответ? Насколько надежны услуги компании? Часто ли возникают сбои базы данных? Как часто сервер электронной почты переходит в автономный режим? Вы всегда можете попросить компанию предоставить сведения о времени безотказной работы и узнать о политике обслуживания клиентов, но более верный способ — запросить отзывы текущих и прошлых клиентов, что можно сделать через интернет-форумы, группы новостей и службы рассылки электронной почты.
Примечание
Некоторые компании по размещению веб-сайтов ориентированы на определенный стек технологий, например .NET или LAMP (L inux, A pache, M ySQL и P HP), поэтому убедитесь, что выбранная вами компания размещает ASP.NET приложения. Кроме того, проверка, чтобы убедиться, что они поддерживают версию ASP.NET, которую вы используете для сборки приложения. Если вы создаете приложение, управляемое данными, убедитесь, что веб-узел предлагает тот же сервер базы данных и версию, которые вы используете.
Сводка
ASP.NET веб-приложения обычно разрабатываются, создаются и тестируются в локальной среде разработки. Когда версия будет готова к выпуску, она перемещается в рабочую среду. Хотя можно разместить ASP.NET веб-сайты на вашем персональном компьютере или на серверах в вашей компании, многие компании и частные лица предпочитают передавать размещение на аутсорсинг поставщику веб-узла.
В этой серии учебников рассматриваются шаги по развертыванию приложения ASP.NET в поставщике веб-узла, а также рассматриваются распространенные проблемы. В этом руководстве представлен общий обзор процесса развертывания ASP.NET и приведены советы по поиску подходящего поставщика веб-узлов. В следующем руководстве рассматривается, какие файлы, связанные с ASP.NET, необходимо скопировать в рабочую среду при развертывании веб-сайта.
Счастливое программирование!
Отдельная благодарность...
Эта серия учебников была проверена многими полезными рецензентами. Ведущим рецензентом этого руководства была Тереса Мерфи. Хотите ознакомиться с моими предстоящими статьями MSDN? Если да, опустите мне строку в mitchell@4GuysFromRolla.com.