Экспорт (0) Печать
Развернуть все

Инструкции Миграция и публикация веб-приложения в облачную службу Azure из среды Visual Studio

Обновлено: Август 2014 г.

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

noteПримечание
В этом разделе рассматривается развертывание в облачных службах, а не на веб-сайтах. Информацию о развертывании на веб-сайтах см. в разделе Развертывание на веб-сайте Azure.

Список шаблонов, поддерживаемых и для Visual C#, и для Visual Basic, см. в следующем разделе: Поддерживаемые шаблоны проектов.

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

Публикация веб-приложения в Windows Azure
noteПримечание
Команда Преобразовать, преобразовать в проект облачной службы Azure отображается только для веб-проекта в решении. Например, эта команда недоступна для проекта Silverlight в решении.

Для переноса и публикации веб-приложения в Azure из Visual Studio необходимо выполнить следующие действия.

  1. Включение веб-приложения для развертывания в Azure (шаги 1 и 2 на приведенном выше рисунке)

  2. Если в приложении используется база данных, строки подключения необходимо изменить так, чтобы использовалась база данных SQL Azure. Использование базы данных SQL Azure для приложения

  3. Если из веб-приложения выполняется запись в локальный файл, необходимо настроить локальное хранилище для веб-роли и записать соответствующие данные в локальное хранилище. Manage local storage for each role instance.

  4. При наличии сборок, добавленных в веб-приложение, необходимо задать свойства для копирования сборок, чтобы они были также добавлены в пакет служб. Include Files in the Service Package.

  5. Публикация веб-приложения в Azure (шаги 3 и 4 на приведенном выше рисунке)

noteПримечание
При создании пакета служб или публикации приложения в Azure могут возникнуть предупреждения и ошибки. Эти предупреждения и ошибки могут помочь в устранении проблем до развертывания приложения в Azure. Например, может отобразиться предупреждение об отсутствии сборки. Дополнительные сведения об обработке предупреждений в виде ошибок см. раздел Инструкции Настройка проекта облачной службы Azure с помощью Visual Studio. Дополнительные сведения об устранении неполадок, упомянутых в этих предупреждениях и ошибках, см. в разделе Диагностика и устранение предупреждений и ошибок при проверке пакетов.

CautionВнимание!
Если запустить построенное приложение локально, с использованием эмулятора вычислений, или опубликовать его в Azure, в окне Список ошибок может отобразиться следующее сообщение об ошибке: Указанный путь, имя файла или оба являются слишком длинными. Причиной этой ошибки является слишком длинное полное имя проекта Azure. Длина имени проекта, включая полный путь, не должна превышать 146 символов. Например, так выглядит полное имя проекта, включая путь к файлу проекта Azure, созданного для приложения Silverlight: c:\users\<имя пользователя>\documents\visual studio 2010\Projects\SilverlightApplication4\SilverlightApplication4.Web.Azure.ccproj. Возможно, придется переместить решение в другой каталог (имеющий более короткий путь), чтобы сократить полное имя проекта.

  1. Чтобы включить веб-приложение для развертывания в Azure, откройте контекстное меню веб-проекта в решении и выберите пункт Добавить проект развертывания Azure.

    Выполняются следующие действия:

    • Проект Azure с именем <имя веб-проекта>.Azure добавляется в решение для приложения.

    • Веб-роль для этого веб-проекта добавляется в указанный проект Azure.

    • Свойству Копировать локально присваивается значение true для любых сборок, которые необходимы для MVC 2, MVC 3, MVC 4 и бизнес-приложений Silverlight. В результате эти сборки добавляются в пакет службб, используемый для развертывания.

      ImportantВажно!
      При наличии других сборок или файлов, которые необходимы для этого веб-приложения, необходимо задать свойства для этих файлов вручную. Сведения о задании этих свойств см. в разделе Include Files in the Service Package.

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

При наличии нескольких веб-проектов в веб-приложении и необходимости создать веб-роли для каждого веб-проекта шаги этой процедуры нужно будет выполнить для каждого веб-проекта. Это действие позволяет создать отдельные проекты Azure для каждой веб-роли. Каждый веб-проект можно опубликовать отдельно. Кроме того, можно вручную добавить в существующий проект Azure в веб-приложении другую веб-роль. Для этого необходимо открыть контекстное меню папки Роли в проекте Azure и щелкнуть Добавить, Проект веб-роли в решение, выбрать проект для добавления в качестве веб-роли и нажать кнопку ОК.

При наличии строки подключения для веб-приложения, использующего базу данных локального сервера SQL Server, необходимо изменить эту строку подключения для использования экземпляра базы данных SQL, размещенного в Azure.

ImportantВажно!
Имеющаяся подписка должна позволять использовать базу данных SQL. Если доступ к подписке выполняется через портал управления Azure, можно просмотреть, какие услуги обеспечивает подписка.

К выпущенному порталу управления применяются следующие инструкции. Если используется предварительная версия портала управления, перейдите к следующей процедуре.

  1. Для создания экземпляра базы данных SQL в консоли управления Azure, следуйте указаниям, приведенным в следующей статье: Создание сервера баз данных SQL.

    noteПримечание
    При настройке правил брандмауэра для экземпляра базы данных SQL необходимо установить флажок Разрешить другим службам Azure получать доступ к этому серверу.

  2. Для создания экземпляра базы данных SQL, который будет использоваться в строке подключения, выполните шаги, описанные в следующем разделе статьи: Создание базы данных SQL.

  3. Чтобы скопировать строку подключения ADO.NET для использования в своей строке подключения, на портале управления Azure выполните следующие действия.

    1. Нажмите кнопку База данных, а затем откройте узел для подписки, которую вы использовали для создания экземпляра базы данных SQL.

    2. Для отображения доступных экземпляров баз данных SQL выберите узел баз данных SQL.

    3. Для отображения свойств базы данных выберите базу данных. Откроется представление Свойства.

      noteПримечание
      Если представление Свойства не отображается, необходимо открыть его с помощью разделителя.

    4. Для отображения строк подключения нажмите кнопку с многоточием рядом с пунктом Просмотр.

      Откроется диалоговое окно Строки подключения.

    5. Чтобы копировать строку подключения ADO.NET, выделите текст и нажмите сочетание клавиш CTRL+C.

    6. Чтобы закрыть диалоговое окно, нажмите кнопку Закрыть.

  4. Чтобы заменить строку подключения в файле web.config для использования этого экземпляра базы данных SQL, откройте файл web.config, выделите существующую строку подключения и нажмите сочетание клавиш CTRL+V.

    Строка подключения ADO.NET для экземпляра базы данных SQL заменяет существующую строку подключения.

  5. Также необходимо добавить параметр MultipleActiveResultSets=True в строку подключения. Строка подключения должна использовать следующий формат:

    connectionString=”Server=tcp:<database_server>.database.windows.net,1433;Database=<database_name>;User ID=<user_name>@<database_server>;Password=<myPassword>;Trusted_Connection=False;Encrypt=True;MultipleActiveResultSets=True"

  6. (Необязательно) Альтернативный метод для изменения строки подключения непосредственно в файле web.config — добавить раздел в один из файлов преобразования web.config в зависимости от конфигурации построения, которое используется для создания пакета служб. Откройте файл Web.Debug.Config или Web.Release.Config . Добавьте в этот файл следующий раздел:

     <connectionStrings>    <add name="DefaultConnection" connectionString="Server=tcp:<database_server>.database.windows.net,1433;Database=<database_name>;User ID=<user_name>@<database_server>;Password=<myPassword>;Trusted_Connection=False;Encrypt=True;MultipleActiveResultSets=True" xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/> </connectionStrings> 
    
  7. Сохраните файл, который был изменен и повторно опубликуйте приложение.

  1. В портале управления выберите узел базы данных SQL.

    • Если появится экземпляр базы данных SQL, который вы хотите использовать, выберите и откройте его.

    • Если ни одного экземпляра еще не было создано, перейдите по соответствующей ссылке и создайте экземпляр.

  2. После открытия или создания экземпляра базы данных перейдите по ссылке Строки подключения.

  3. В нижней части странице перейдите по ссылке для настройки параметров брандмауэра и примите параметры по умолчанию или задайте нужные вам значения.

  4. Скопируйте строку подключения ADO.NET и вставьте ее в файл web.config поверх старой строки подключения для локальной базы данных, а также добавьте значение «MultipleActiveResultSets=True».

  1. Чтобы протестировать приложение в локальной среде разработки с использованием эмулятора Azure, откройте контекстное меню проекта Azure для веб-роли и выберите команду Назначить запускаемым проектом. Затем выберите Отладка, начать отладку (F5 клавиша F5.)

    Отобразится диалоговое окно Запустить среду отладки Azure. Приложение запускается в браузере. Точные сведения о запуске веб-приложений разных типов в эмуляторе вычислений см. в таблице, представленной в этом разделе.

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

  3. Чтобы опубликовать веб-приложение в Azure, откройте контекстное меню веб-проекта и выберите Опубликовать в Azure.

    Появится диалоговое окно Публикация приложения Azure. Visual Studio запускает процесс развертывания. Дополнительные сведения о публикации приложения см. в разделе Publish an Azure Application from Visual Studio.

    noteПримечание
    Кроме того, можно опубликовать веб-приложение из проекта Azure. Для этого необходимо открыть контекстное меню проекта Azure и выбрать Публиковать.

  4. Ход развертывания можно наблюдать в окне Журнал действий Azure. Этот журнал отображается автоматически при запуске процесса развертывания. Можно раскрыть соответствующий строчный элемент, чтобы просмотреть детали в журнале действий, как показано на следующем рисунке.

    VST_AzureActivityLog
  5. (Необязательно) Чтобы отменить процесс развертывания, откройте контекстное меню для элемента строки в журнале активности и выберите Отменить и удаленить. Это останавливает процесс развертывания и удаляет среду развертывания из Azure.

    noteПримечание
    Чтобы удалить эту среду развертывания после того, как она была развернута, воспользуйтесь порталом управления.

  6. (Необязательно) После запуска экземпляров ролей Visual Studio автоматически отображает среду развертывания в узле Вычисление Azure в обозревателе серверов. Здесь можно просматривать состояние отдельных экземпляров ролей. Дополнительные сведения об узле Среда выполнения приложений ОС Azure в окне Обозреватель серверов см. в разделе Просмотр состояния облачной службы с использованием обозревателя серверов.

    На следующем рисунке показаны экземпляры роли в состоянии Инициализация.

    VST_DeployComputeNode
  7. Для доступа к приложению после развертывания выберите стрелку рядом с развертыванием, когда в журнале действий Azure отображается статус Завершено. Это действие позволит отобразить URL-адрес веб-приложения в Azure. Подробные сведения о запуске веб-приложения определенного типа из Azure см. в следующей таблице.

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

 

Тип веб-приложения Локальный запуск и отладка с помощью эмулятора среды выполнения Выполнение в Azure

Веб-приложение ASP.NET

В строке меню выберите Отладка, начать отладку. (Клавиатура: на клавиатуре).

Выберите гиперссылку URL-адреса, отображаемую на вкладке Развертывание окна Журнал действий Azure для загрузки начальной страницы в браузере.

Веб-приложение ASP.NET MVC 2

В строке меню выберите Отладка, начать отладку. (Клавиатура: на клавиатуре).

Выберите гиперссылку URL-адреса, отображаемую на вкладке Развертывание окна Журнал действий Azure для загрузки начальной страницы в браузере.

Веб-приложение ASP.NET MVC 3

В строке меню выберите Отладка, начать отладку. (Клавиатура: на клавиатуре).

Чтобы загрузить начальную страницу в браузере, выберите гиперссылку URL-адрес на вкладке Развертывание для Журнала действий Azure.

Веб-приложение ASP.NET MVC 4

В строке меню выберите Отладка, Начать отладку (на клавиатуре нажмите клавишу F5).

Чтобы загрузить начальную страницу в браузере, выберите ссылку URL-адрес, отображаемую на вкладке Развертывание окна Журнал действий Azure.

Пустое веб-приложение ASP.NET

Необходимо добавить ASPX-страницу, задаваемую в качестве начальной страницы веб-проекта, в ваше приложение. Затем в строке меню выберите Отладка, начать отладку (на клавиатуре на клавиатуре).

При наличии в приложении ASPX-страницы по умолчанию выберите гиперссылку URL-адреса, отображаемую на вкладке Развертывание для окна Журнал действий Azure. Это действие позволит загрузить страницу в браузере. При наличии другой ASPX-страницы необходимо перейти к этой страницы с помощью URL-адреса следующего формата:

<URL-адрес для развертывания>/<имя страницы>.aspx

Приложение Silverlight

В строке меню выберите Отладка, начать отладку. (Клавиатура: на клавиатуре).

Необходимо перейти к заданной странице вашего приложения, указав URL-адрес следующего формата:<URL-адрес для развертывания>/<имя страницы>.aspx

Бизнес-приложение Silverlight

В строке меню выберите Отладка, начать отладку. (Клавиатура: на клавиатуре).

Необходимо перейти к заданной странице вашего приложения, указав URL-адрес следующего формата:<URL-адрес для развертывания>/<имя страницы>.aspx

Приложение навигации Silverlight

В строке меню выберите Отладка, начать отладку. (Клавиатура: на клавиатуре).

Необходимо перейти к заданной странице вашего приложения, указав URL-адрес следующего формата:<URL-адрес для развертывания>/<имя страницы>.aspx

Приложение службы WCF

Необходимо задать SVC-файл в качестве начальной страницы для проекта службы WCF. Затем в строке меню выберите Отладка, начать отладку (на клавиатуре нажмите клавишу F5).

Необходимо перейти к SVC-файлу вашего приложения, указав URL-адрес следующего формата:<URL-адрес для развертывания>/<имя службы>.svc

Приложение службы рабочего процесса WCF

Необходимо задать SVC-файл в качестве начальной страницы для проекта службы WCF. Затем в строке меню выберите Отладка, начать отладку (на клавиатуре на клавиатуре).

Необходимо перейти к SVC-файлу вашего приложения, указав URL-адрес следующего формата:<URL-адрес для развертывания>/<имя службы>.svc

Динамические сущности ASP.NET

В строке меню выберите Отладка, начать отладку. (Клавиатура: на клавиатуре).

Необходимо обновить строку подключения.

Кроме того, необходимо перейти к заданной странице вашего приложения, указав URL-адрес следующего формата:<URL-адрес для развертывания>/<имя страницы>.aspx

Linq to SQL динамических данных ASP.NET

В строке меню выберите Отладка, начать отладку. (Клавиатура: нажмите клавишу F5).

Необходимо выполнить действия, приведенные в этой процедуре: использование базы данных SQL Azure для приложения.

Кроме того, необходимо перейти к заданной странице вашего приложения, указав URL-адрес следующего формата:<URL-адрес для развертывания>/<имя страницы>.aspx

  1. Чтобы создать базу данных SQL Azure, которую можно использовать в веб-приложении динамических сущностей ASP.NET, необходимо выполнить шаги следующей процедуры: использование базы данных SQL Azure для приложения.

  2. Добавьте таблицы и поля, необходимые для этой базы данных, из портала управления платформы Azure.

  3. Строка подключения для приложения этого типа имеет в файле web.config следующий формат:

    <add name="tempdbEntities" connectionString="metadata=res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=<server name>\SQLEXPRESS;initial catalog=<database name>;integrated security=True;multipleactiveresultsets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />
    

    Обновите значение connectionString с использованием строки подключения ADO.NET для базы данных SQL Azure следующим образом:

    <add name="tempdbEntities"      connectionString="metadata=res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;provider=System.Data.SqlClient;provider connection string=&quot;Server=tcp:<SQL Azure server name>.database.windows.net,1433;Database=<database name>;User ID=<user name>;Password=<password>;Trusted_Connection=False;Encrypt=True;multipleactiveresultsets=True;App=EntityFramework&quot;"      providerName="System.Data.EntityClient" /> 
    
  4. Чтобы сохранить файл web.config с внесенными в строку подключения изменениями, выберите Файл, Cохранить web.config в строке меню.

Чтобы опубликовать веб-приложение в Azure, приложение должно использовать один из шаблонов проекта для C# или Visual Basic, перечисленных в следующей таблице.

 

Группа шаблонов проекта Шаблон проекта

Web

Веб-приложение ASP.NET

Web

Веб-приложение ASP.NET MVC 2

Web

Веб-приложение ASP.NET MVC 3

Web

Веб-приложение ASP.NET MVC4

Web

Пустое веб-приложение ASP.NET

Web

Пустое веб-приложение ASP.NET MVC 2

Web

Веб-приложение динамических сущностей данных ASP.NET

Web

Веб-приложение динамических данных Linq to SQL ASP.NET

Silverlight

Приложение Silverlight

Silverlight

Бизнес-приложение Silverlight

Silverlight

Приложение навигации Silverlight

WCF

Приложение службы WCF

WCF

Приложение службы рабочего процесса WCF

Рабочий процесс

Приложение службы рабочего процесса WCF

См. также

Показ:
© 2014 Microsoft