Краткое руководство. Развертывание веб-приложения ASP.NET

Из этого краткого руководства вы узнаете, как создать и развернуть свое первое веб-приложение ASP.NET в Службе приложений Azure. Служба приложений поддерживает разные версии приложений .NET и предоставляет службу веб-размещения с высоким уровнем масштабирования и автоматической установкой исправлений. Веб-приложения ASP.NET являются кросс-платформенными, т. е. могут размещаться в Linux или Windows. Когда вы закончите работу с ним, у вас будет создана группа ресурсов Azure с планом размещения Службы приложений и Службой приложений, где развернуто веб-приложение.

Предварительные требования

Если у вас уже установлена версия Visual Studio 2022:

  1. Установите последние обновления для Visual Studio, выбрав Справка>Проверить обновления.
  2. Добавьте рабочую нагрузку, выбрав Инструменты>Получить средства и компоненты.
Установите последнюю версию пакета SDK для .NET 6.0.
Установите последнюю версию пакета SDK для .NET 6.0.
Установите последнюю версию пакета SDK для .NET 6.0.

Создание веб-приложения ASP.NET

  1. Откройте Visual Studio и выберите Создать проект.

  2. В разделе Создать новый проект найдите и выберите ASP.NET Core Web App, после чего нажмите Далее.

  3. В разделе Настройка нового проекта присвойте приложению имя MyFirstAzureWebApp и щелкните Далее.

    Visual Studio - Configure ASP.NET 6.0 web app.

  4. Выберите .NET Core 6.0 (долгосрочная поддержка) .

  5. Для параметра Тип проверки подлинности укажите значение Нет. Нажмите кнопку создания.

    Visual Studio - Additional info when selecting .NET Core 6.0.

  6. В меню Visual Studio выберите Отладка>Запустить без отладки, чтобы запустить приложение локально.

    Visual Studio - ASP.NET Core 6.0 running locally.

  1. В окне терминала создайте новую папку с именем MyFirstAzureWebApp и откройте ее в Visual Studio Code.

    mkdir MyFirstAzureWebApp
    code MyFirstAzureWebApp
    
  2. в Visual Studio Code откройте окно терминала, введя Ctrl + `.

  3. В терминале в Visual Studio Code создайте новое веб-приложение .NET с помощью команды dotnet new webapp.

    dotnet new webapp -f net6.0
    
  4. В окне Терминал Visual Studio Code запустите приложение в локальной среде с помощью команды dotnet run.

    dotnet run --urls=https://localhost:5001/
    
  5. Откройте веб-браузер и перейдите к приложению в https://localhost:5001.

    На странице браузера отобразится шаблон веб-приложения ASP.NET Core 6.0.

    Visual Studio Code - run .NET 6.0 in browser locally.

  1. Откройте окно терминала на компьютере и перейдите в рабочую папку. Создайте новое веб-приложение .NET с помощью команды dotnet new webapp, а затем измените каталоги для только что созданного приложения.

    dotnet new webapp -n MyFirstAzureWebApp --framework net6.0
    cd MyFirstAzureWebApp
    
  2. В том же сеансе терминала запустите приложение локально с помощью команды dotnet run.

    dotnet run --urls=https://localhost:5001/
    
  3. Откройте веб-браузер и перейдите к приложению в https://localhost:5001.

    На странице браузера отобразится шаблон веб-приложения ASP.NET Core 6.0.

    Visual Studio Code - ASP.NET Core 6.0 in local browser.

Публикация веб-приложения

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

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

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

Выполните следующие действия, чтобы создать Службу приложений и опубликовать свой проект:

  1. Щелкните правой кнопкой мыши проект MyFirstAzureWebApp в Обозревателе решений и выберите Опубликовать.

  2. В разделе Публикация выберите Azure и нажмите кнопку Далее.

    Visual Studio - Publish the web app and target Azure.

  3. Выберите Указанный целевой объект: Служба приложений Azure (Linux) или Служба приложений Azure (Windows) . Затем нажмите кнопку Далее.

    Важно!

    Если предполагается использовать ASP.NET Framework 4.8 вы используйте Службу приложений Azure (Windows) .

  4. Доступные параметры зависят от того, вошли ли вы в Azure и есть ли у вас учетная запись Visual Studio, связанная с учетной записью Azure. Выберите Добавить учетную запись или Войти, чтобы войти в подписку Azure. Если вы уже вошли, выберите нужную учетную запись.

    Visual Studio - Select sign in to Azure dialog.

  5. Справа от списка Экземпляры Службы приложений выберите + .

    Visual Studio - New App Service app dialog.

  6. Для параметра Подписка подтвердите предложенный вариант или выберите другой из раскрывающегося списка.

  7. В разделе Группа ресурсов выберите Создать. В разделе Новое имя группы ресурсов введите myResourceGroup и щелкните ОК.

  8. В разделе План размещения щелкните Создать.

  9. В диалоговом окне План размещения. Создать новый введите значения, указанные в следующей таблице.

    Параметр Рекомендуемое значение Описание
    План размещения MyFirstAzureWebAppPlan Имя плана службы приложений.
    Расположение Западная Европа Центр обработки данных, где размещается веб-приложение.
    Размер Бесплатный Ценовая категория определяет возможности размещения.

    Create new Hosting Plan

  10. В поле Имя введите уникальное имя приложения, включающее только допустимые символы: a-z, A-Z, 0-9 и -. Вы можете использовать автоматически созданное уникальное имя. URL-адрес веб-приложения: http://<app-name>.azurewebsites.net, где <app-name> — имя приложения.

  11. Выберите Создать, чтобы создать ресурсы Azure.

    Visual Studio - Create app resources dialog.

    После завершения работы мастера ресурсы Azure будут созданы, и вы будете готовы опубликовать проект ASP.NET Core.

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

  13. На странице Публикация выберите Опубликовать. Если появилось сообщение с предупреждением нажмите кнопку Продолжить.

    Visual Studio создает, упаковывает и публикует приложение в Azure, а затем запускает его в браузере по умолчанию.

    На странице браузера отобразится веб-приложение ASP.NET Core 6.0.

    Visual Studio - ASP.NET Core 6.0 web app in Azure.

  1. В Visual Studio Code откройте раздел Палитра команд и нажмите клавиши CTRL+SHIFT+P.

  2. Найдите и выберите "Служба приложений Azure: развернуть в веб-приложении".

  3. Ответьте на запросы следующим образом:

    1. Выберите для развертывания папку MyFirstAzureWebApp.
    2. При появлении запроса выберите Добавить конфигурацию.
    3. Если отобразится запрос на вход в учетную запись Azure, выполните его.
    4. Выберите Подписка.
    5. Щелкните Создать веб-приложение... Дополнительно.
    6. В поле Введите глобально уникальное имя введите имя, которое еще не используется в Azure (допускаются символы a-z, 0-9 и - ). Рекомендуется использовать сочетание названия компании и идентификатора приложения.
    7. Выберите Создать группу ресурсов и укажите имя, например myResourceGroup.
    8. Когда появится запрос Выберите стек времени выполнения:
    • для .NET 6.0 выберите .NET 6;
    • для .NET Framework 4.8 выберите ASP.NET V4.8.
    1. Выберите операционную систему (Windows или Linux):
      • для .NET Framework 4.8 будет автоматически выбрана платформа Windows.
    2. Выберите ближайшее расположение.
    3. Выберите Создать новый план службы приложений, укажите имя и выберите ценовую категориюБесплатный F1.
    4. Выберите Пропустить для ресурса Application Insights.
  4. Во всплывающем окне всегда развертывайте рабочую область "MyFirstAzureWebApp" в <app-name>, нажмите Да, чтобы Visual Studio Code развертывался в одном приложении службы приложений каждый раз, когда вы находитесь в этой рабочей области.

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

    На странице браузера отобразится веб-приложение ASP.NET Core 6.0.

    Visual Studio Code - ASP.NET Core 6.0 web app in Azure.

  1. Войдите в учетную запись Azure с помощью команды az login и выполните следующий запрос:

    az login
    
  2. Разверните код в локальном каталоге MyFirstAzureWebApp с помощью команды az webapp up:

    az webapp up --sku F1 --name <app-name> --os-type <os>
    
    • Если команда az не распознается, проверьте, установили ли вы Azure CLI, как описано в разделе Предварительные требования.
    • Замените <app-name> именем, уникальным для всех регионов Azure (допустимыми символами являются a-z, 0-9и - ). Рекомендуется использовать сочетание названия компании и идентификатора приложения.
    • Аргумент --sku F1 создает веб-приложение с ценовой категориейБесплатный. Этот аргумент можно опустить, чтобы использовать более быструю ценовую категорию "Премиум" с почасовой оплатой.
    • Измените <os> на linux или windows. При нацеливании на ASP.NET Framework 4.8 необходимо использовать windows.
    • При необходимости вы можете использовать аргумент --location <location-name>, где <location-name> является доступным регионом Azure. Список допустимых регионов для учетной записи Azure можно получить, выполнив команду az account list-locations.

    Выполнение команды может занять несколько минут. По мере выполнения будут отображаться сообщения о создании группы ресурсов, плане службы приложений и размещения приложения, настройке ведения журнала и последующем выполнении развертывания ZIP-файла. Затем отображается сообщение с URL-адресом приложения:

    You can launch the app at http://<app-name>.azurewebsites.net
    
  3. Откройте браузер и перейдите по этому URL-адресу:

    На странице браузера отобразится веб-приложение ASP.NET Core 6.0.

    CLI - ASP.NET Core 6.0 web app in Azure.

Примечание

Azure PowerShell — рекомендуемое средство для создания приложений на платформе размещение Windows. Для создания приложений в Linux используйте другое средство, например Azure CLI

  1. Войдите в учетную запись Azure с помощью команды Connect-AzAccount и выполните следующий запрос:

    Connect-AzAccount
    
  1. Создайте приложение с помощью команды New-AzWebApp:

    New-AzWebApp -Name <app-name> -Location westeurope
    
    • Замените <app-name> именем, уникальным для всех регионов Azure (допустимыми символами являются a-z, 0-9и - ). Рекомендуется использовать сочетание названия компании и идентификатора приложения.
    • При необходимости вы можете использовать параметр -Location <location-name>, где <location-name> является доступным регионом Azure. Список допустимых регионов для учетной записи Azure можно получить, выполнив команду Get-AzLocation.

    Выполнение команды может занять несколько минут. При выполнении создается группа ресурсов, план службы приложений и ресурс Службы приложений.

  2. В корневой папке приложения подготовьте свое локальное приложение MyFirstAzureWebApp к развертыванию, выполнив команду dotnet publish:

    dotnet publish --configuration Release
    
  3. Перейдите в каталог версии и создайте ZIP-файл из содержимого:

    cd bin\Release\net6.0\publish
    Compress-Archive -Path * -DestinationPath deploy.zip
    
  4. Опубликуйте ZIP-файл в приложении Azure с помощью команды Publish-AzWebApp:

    Publish-AzWebApp -ResourceGroupName myResourceGroup -Name <app-name> -ArchivePath (Get-Item .\deploy.zip).FullName -Force
    

    Примечание

    -ArchivePath нужно предоставить полный путь к ZIP-файлу.

  5. Откройте браузер и перейдите по этому URL-адресу:

    На странице браузера отобразится веб-приложение ASP.NET Core 6.0.

    CLI - ASP.NET Core 6.0 web app in Azure.

Обновление и повторное развертывание приложения

Чтобы обновить и повторно развернуть веб-приложение, сделайте следующее:

  1. В Обозревателе решений откройте файл Index.cshtml вашего проекта.

  2. Замените первый элемент <div> следующим кодом:

    <div class="jumbotron">
        <h1>.NET 💜 Azure</h1>
        <p class="lead">Example .NET app to Azure App Service.</p>
    </div>
    

    Сохраните изменения.

  3. Чтобы выполнить повторное развертывание в Azure, щелкните правой кнопкой мыши проект MyFirstAzureWebApp в Обозревателе решений, а затем выберите Опубликовать.

  4. На странице Публикация со сводными сведениями щелкните Опубликовать.

    По завершении публикации Visual Studio открывает в браузере страницу с URL-адресом веб-приложения.

    На странице браузера отобразится обновленное веб-приложение ASP.NET Core 6.0.

    Visual Studio - Updated ASP.NET Core 6.0 web app in Azure.

  1. Откройте Index.cshtml.

  2. Замените первый элемент <div> следующим кодом:

    <div class="jumbotron">
        <h1>.NET 💜 Azure</h1>
        <p class="lead">Example .NET app to Azure App Service.</p>
    </div>
    

    Сохраните изменения.

  3. В Visual Studio Code откройте раздел Палитра команд и нажмите клавиши CTRL+SHIFT+P.

  4. Найдите и выберите "Служба приложений Azure: развернуть в веб-приложении".

  5. Щелкните Развернуть при появлении запроса.

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

    На странице браузера отобразится обновленное веб-приложение ASP.NET Core 6.0.

    Visual Studio Code - Updated ASP.NET Core 6.0 web app in Azure.

В локальном каталоге выберите файл Index.cshtml. Замените первый элемент <div> следующим кодом:

<div class="jumbotron">
    <h1>.NET 💜 Azure</h1>
    <p class="lead">Example .NET app to Azure App Service.</p>
</div>

Сохраните изменения, а затем повторно разверните приложение с помощью команды az webapp up.

ASP.NET Core 6.0 является кросс-платформенным решением, поэтому измените <os> на linux или windows в зависимости от развертывания.

az webapp up --os-type <os>

Эта команда использует значения, которые кэшируются локально в файле .azure/config, включая имя приложения, группу ресурсов и план службы приложений.

После завершения развертывания переключитесь в окно браузера, открытое на этапе перехода в приложение, и щелкните "Обновить".

На странице браузера отобразится обновленное веб-приложение ASP.NET Core 6.0.

CLI - Updated ASP.NET Core 6.0 web app in Azure.

  1. В локальном каталоге выберите файл Index.cshtml. Замените первый элемент <div> следующим кодом:

    <div class="jumbotron">
        <h1>.NET 💜 Azure</h1>
        <p class="lead">Example .NET app to Azure App Service.</p>
    </div>
    
  2. В корневой папке приложения подготовьте свое локальное приложение MyFirstAzureWebApp к развертыванию, выполнив команду dotnet publish:

    dotnet publish --configuration Release
    
  3. Перейдите в каталог версии и создайте ZIP-файл из содержимого:

    cd bin\Release\net6.0\publish
    Compress-Archive -Path * -DestinationPath deploy.zip
    
  4. Опубликуйте ZIP-файл в приложении Azure с помощью команды Publish-AzWebApp:

    Publish-AzWebApp -ResourceGroupName myResourceGroup -Name <app-name> -ArchivePath (Get-Item .\deploy.zip).FullName -Force
    

    Примечание

    -ArchivePath нужно предоставить полный путь к ZIP-файлу.

  5. После завершения развертывания переключитесь в окно браузера, открытое на этапе перехода в приложение, и щелкните "Обновить".

    На странице браузера отобразится обновленное веб-приложение ASP.NET Core 6.0.

    CLI - Updated ASP.NET Core 6.0 web app in Azure.

Управление приложением Azure

Чтобы управлять веб-приложением, перейдите на портал Azure, найдите и выберите Службы приложений.

Azure portal - Select App Services option.

На странице Службы приложений выберите имя веб-приложения.

Azure portal - App Services page with an example web app selected.

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

Azure portal - App Service overview page.

Очистка ресурсов

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

  1. На странице Обзор веб-приложения на портале Azure щелкните ссылку myResourceGroup в разделе Группы ресурсов.
  2. На странице группы ресурсов проверьте, действительно ли требуется удалить перечисленные ресурсы.
  3. Выберите Удалить, введите myResourceGroup в текстовое поле, после чего щелкните Удалить.

Очистка ресурсов

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

  1. На странице Обзор веб-приложения на портале Azure щелкните ссылку myResourceGroup в разделе Группы ресурсов.
  2. На странице группы ресурсов проверьте, действительно ли требуется удалить перечисленные ресурсы.
  3. Выберите Удалить, введите myResourceGroup в текстовое поле, после чего щелкните Удалить.

Очистка ресурсов

На предыдущем шаге вы создали ресурсы Azure в группе ресурсов. Если эти ресурсы вам не понадобятся в будущем, вы можете удалить группу ресурсов, выполнив следующую команду в Cloud Shell:

az group delete --name myResourceGroup

Ее выполнение может занять до минуты.

Очистка ресурсов

На предыдущем шаге вы создали ресурсы Azure в группе ресурсов. Если эти ресурсы вам не понадобятся в будущем, удалите группу ресурсов, выполнив следующую команду PowerShell:

Remove-AzResourceGroup -Name myResourceGroup

Ее выполнение может занять до минуты.

Дальнейшие действия

В этом кратком руководстве показано, как создать и развернуть веб-приложение ASP.NET в Службе приложений Azure.

Переходите к следующей статье, чтобы узнать, как создать приложение .NET Core и подключить его к Базе данных SQL.