Поделиться через


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

Примечание.

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

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

Внимание

Эта миграция поддерживается только для конкретных проектов ASP.NET, WCF и WCF Workflow. не поддерживается для проектов ASP.NET Core. Подробные сведения см. в разделе Поддерживаемые шаблоны проектов

Необходимые компоненты

Миграция проекта в облачные службы

  1. Щелкните правой кнопкой мыши узел решения и выберите "Добавить > новый проект" и добавьте новый проект облачной службы Azure (классической) в существующее решение.

  2. В диалоговом окне "Новая облачная служба Microsoft Azure" (классическая) нажмите кнопку "ОК" без добавления ролей в проект.

  3. Щелкните правой кнопкой мыши узел ролей в недавно добавленном проекте Облачные службы и выберите "Добавить проект веб-роли" в решении....

  4. В диалоговом окне "Связывание с проектом роли" выберите проект, который вы хотите связать в качестве веб-роли.

    Внимание

    Если для веб-приложения требуются другие сборки или файлы, свойства этих файлов необходимо настроить вручную. Инструкции по настройке этих свойств см. в статье Инструкции. Миграция и публикация веб-приложения в облачную службу Azure из среды Visual Studio.

Ошибки и предупреждения

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

Если вы создаете приложение, запустите его локально с помощью эмулятора вычислений или опубликуете его в Azure, может появиться сообщение об ошибке "Указанный путь, имя файла или оба слишком длинны". Эта ошибка означает, что длина полного имени проекта Azure превышает 146 символов. Чтобы устранить эту проблему, переместите решение в другую папку с более коротким путем.

Дополнительные сведения об обработке предупреждений в виде ошибок см. в статье Настройка проекта облачной службы Azure в Visual Studio.

Локальное тестирование миграции

  1. В обозревателе решений Visual Studio щелкните добавленный проект облачной службы правой кнопкой мыши и выберите Назначить запускаемым проектом.
  2. Выберите "Начать отладку>" (F5), чтобы запустить среду отладки Azure. В частности, эта среда предоставляет возможность эмуляции различных служб Azure.

Использование базы данных SQL Azure для приложения

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

Публикация приложения в облачной службе Azure

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

  2. В Visual Studio щелкните правой кнопкой мыши проект приложения и выберите "Опубликовать в Microsoft Azure" (что отличается от "Опубликовать..." команда).

  3. В появившемся приложение Azure публикации войдите с помощью учетной записи с подпиской Azure и нажмите кнопку "Далее>".

  4. На вкладке Параметры > Common Параметры выберите целевую облачную службу из раскрывающегося списка облачных служб вместе с выбранной средой и конфигурациями.

  5. В Параметры advanced Параметры выберите используемую учетную запись хранения, а затем нажмите кнопку "Далее>". >

  6. На вкладке Диагностика выберите, следует ли отправлять сведения в Application Insights.

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

  8. В Visual Studio откроется окно журнала действий, в котором вы можете отслеживать ход выполнения.

    VST_AzureActivityLog

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

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

Использование эмулятора вычислений и запуск приложения в Azure

Все типы приложений можно запустить в браузере, подключенном к отладчику Visual Studio, нажав кнопку "Начать отладку > " (F5). В проекте "Пустое веб-приложение ASP.NET" необходимо сначала добавить страницу .aspx в приложение и установить ее в качестве начальной страницы веб-проекта.

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

Тип веб-приложения Выполнение в Azure
Веб-приложение ASP.NET
(включая модель-представление-контроллер (MVC) 2, MVC 3, MVC 4)
Выберите URL-адрес журнала действий Azure на вкладке Развертывание.
Пустое веб-приложение ASP.NET Если в приложении уже имеется страница по умолчанию .aspx, выберите URL-адрес на вкладке Развертывание для журнала действий Azure. Чтобы перейти на другую страницу, введите в браузере следующий URL-адрес: <deployment_url>/<page_name>.aspx
Приложение службы WCF
Приложение службы рабочего процесса WCF
Задайте .svc файл в качестве начальной страницы для проекта службы WCF. Затем перейдите на страницу <deployment_url>/<service_file>.svc
Динамические сущности ASP.NET
ASP.NET динамические данные LINQ to SQL
Обновите строку подключения (как описано в следующем разделе). Затем перейдите на страницу <deployment_url>/<page_name>.aspx. Для LINQ to SQL необходимо использовать базу данных SQL Azure.

Обновление строки подключения для динамических сущностей ASP.NET

  1. Создайте базу данных SQL Azure для веб-приложения динамических сущностей ASP.NET, как описано ранее (#use-an-azuresql-database-for-your-application).

  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"/>
    

Поддерживаемые шаблоны проектов

Приложения, которые можно перенести и опубликовать в облачных службах, должны использовать один из шаблонов в следующей таблице. ASP.NET Core не поддерживается.

Группа шаблонов Шаблон проекта
Интернет Веб-приложение ASP.NET (.NET Framework)
Интернет Веб-приложение ASP.NET MVC 2
Интернет Веб-приложение ASP.NET MVC 3
Интернет Веб-приложение ASP.NET MVC 4
Интернет Пустое веб-приложение ASP.NET (или сайт)
Интернет Пустое веб-приложение ASP.NET MVC 2
Интернет Веб-приложение динамических сущностей данных ASP.NET
Интернет веб-приложение ASP.NET динамических данных LINQ to SQL
WCF Приложение службы WCF
WCF Приложение службы рабочего процесса WCF
Рабочий процесс Приложение службы рабочего процесса WCF