Snabbstart: Distribuera en ASP.NET webbapp

I den här snabbstarten får du lära dig hur du skapar och distribuerar din första ASP.NET webbapp till Azure App Service. App Service stöder olika versioner av .NET-appar och tillhandahåller en mycket skalbar webbvärdtjänst med självkorrigering. ASP.NET webbappar är plattformsoberoende och kan finnas i Linux eller Windows. När du är klar har du en Azure-resursgrupp som består av en App Service-värdplan och en App Service med ett distribuerat webbprogram.

Du kan också distribuera en ASP.NET webbapp som en del av en Windows- eller Linux-container i App Service.

Den här videon visar hur du distribuerar en ASP.NET webbapp.

Stegen i videon beskrivs också i följande avsnitt.

Förutsättningar

Om du redan har installerat Visual Studio 2022:

  1. Installera de senaste uppdateringarna i Visual Studio genom att välja Hjälpkontroll>för Uppdateringar.
  2. Lägg till arbetsbelastningen genom att välja Verktyg>Hämta verktyg och funktioner.

1. Skapa en ASP.NET webbapp

1. Initiera mallen ASP.NET webbapp

  1. Öppna Visual Studio och välj sedan Skapa ett nytt projekt.

  2. I Skapa ett nytt projekt letar du upp och väljer ASP.NET Core Web App och väljer sedan Nästa.

  3. I Konfigurera ditt nya projekt namnger du programmet MyFirstAzureWebApp och väljer sedan Nästa.

    Screenshot of Visual Studio - Configure ASP.NET 7.0 web app.

  4. Välj .NET 7.0 (standardstöd).

  5. Kontrollera att autentiseringstypen är inställd på Ingen. Välj Skapa.

    Screenshot of Visual Studio - Additional info when selecting .NET 7.0.

  6. På Visual Studio-menyn väljer du Felsöka>Starta utan felsökning för att köra webbappen lokalt. Om du ser ett meddelande där du uppmanas att lita på ett självsignerat certifikat väljer du Ja.

    Screenshot of Visual Studio - ASP.NET Core 7.0 running locally.

  1. Öppna ett terminalfönster på datorn till en arbetskatalog. Skapa en ny .NET-webbapp med kommandot dotnet new webapp och ändra sedan kataloger till den nyligen skapade appen.

    dotnet new webapp -n MyFirstAzureWebApp --framework net7.0
    cd MyFirstAzureWebApp
    
  2. Från samma terminalsession kör du programmet lokalt med kommandot dotnet run .

    dotnet run --urls=https://localhost:5001/
    
  3. Öppna webbläsaren och navigera till appen på https://localhost:5001.

    Du ser mallen ASP.NET Core 7.0-webbappen som visas på sidan.

    Screenshot of Visual Studio Code - ASP.NET Core 7.0 in local browser.

I det här steget förgrenar du ett demoprojekt som ska distribueras.

  1. Gå till exempelappen .NET 7.0.
  2. Välj knappen Förgrening längst upp till höger på GitHub-sidan.
  3. Välj Ägare och lämna standardnamnet för lagringsplatsen.
  4. Välj Skapa förgrening.

Den här snabbstarten använder Både Azure Developer CLI (azd) för att skapa Azure-resurser och distribuera kod till den. Mer information om Azure Developer CLI finns i dokumentationen eller utbildningsvägen.

Hämta och initiera ASP.NET Core-webbappmallen för den här snabbstarten med hjälp av följande steg:

  1. Öppna ett terminalfönster på datorn till en tom arbetskatalog. Initiera mallen azd med kommandot azd init .

    azd init --template https://github.com/Azure-Samples/quickstart-deploy-aspnet-core-app-service.git
    

    När du uppmanas att ange ett miljönamn anger du dev.

  2. Från samma terminalsession kör du programmet lokalt med kommandot dotnet run . Använd parametern --project för att ange src katalogen för mallen azd , där programkoden finns.

    dotnet run --project src --urls=https://localhost:5001/
    
  3. Öppna en webbläsare och gå till appen på https://localhost:5001. Webbappmallen ASP.NET Core 7.0 visas på sidan.

    Screenshot of Visual Studio Code - ASP.NET Core 7.0 in local browser.

2. Publicera din webbapp

AZD-mallen innehåller filer som genererar följande nödvändiga resurser för att programmet ska kunna köras i App Service:

  • En ny resursgrupp som ska innehålla alla Azure-resurser för tjänsten.
  • En ny App Service-plan som anger plats, storlek och funktioner i webbservergruppen som är värd för din app.
  • En ny App Service-appinstans för att köra det distribuerade programmet.

Följ dessa steg för att skapa dina App Service-resurser och publicera projektet:

  1. Högerklicka projektet MyFirstAzureWebApp i Solution Explorer och välj Publicera.

  2. I Publicera väljer du Azure och sedan Nästa.

    Screenshot of Visual Studio - Publish the web app and target Azure.

  3. Välj det specifika målet, antingen Azure App Service (Linux) eller Azure App Service (Windows). Välj sedan Nästa.

    Viktigt!

    Använd Azure App Service (Windows) när du riktar in dig på ASP.NET Framework 4.8.

  4. Dina alternativ beror på om du redan är inloggad i Azure och om du har ett Visual Studio-konto länkat till ett Azure-konto. Välj antingen Lägg till ett konto eller Logga in för att logga in på din Azure-prenumeration. Om du redan är inloggad väljer du det konto du vill använda.

    Screenshot of Visual Studio - Select sign in to Azure dialog.

  5. Till höger om App Service-instanser väljer du +.

    Screenshot of Visual Studio - New App Service app dialog.

  6. För Prenumeration godkänner du den prenumeration som visas eller väljer en ny i listrutan.

  7. För Resursgrupp väljer du Ny. I Nytt resursgruppsnamn anger du myResourceGroup och väljer OK.

  8. Som Värdplan väljer du Ny.

  9. I dialogrutan Värdplan: Skapa ny anger du de värden som anges i följande tabell:

    Inställning Föreslaget värde beskrivning
    Värdplan MyFirstAzureWebAppPlan Namnet på App Service-planen.
    Plats Europa, västra Datacenter som är värd för webbappen.
    Storlek Kostnadsfri Prisnivån avgör tillgängliga värdfunktioner.
  10. I Namn anger du ett unikt appnamn som endast innehåller de giltiga tecknen , a-z, A-Z0-9, och -. Du kan acceptera det automatiskt genererade unika namnet. Webbadressen till webbappen är http://<app-name>.azurewebsites.net, där <app-name> är appens namn.

  11. Välj Skapa för att skapa Azure-resurserna.

    Screenshot of Visual Studio - Create app resources dialog.

    När guiden är klar skapas Azure-resurserna åt dig och du är redo att publicera ditt ASP.NET Core-projekt.

  12. I dialogrutan Publicera kontrollerar du att din nya App Service-app är markerad och väljer sedan Slutför och sedan Stäng. Visual Studio skapar en publiceringsprofil åt dig för den valda App Service-appen.

  13. På sidan Publicera väljer du Publicera. Om du ser ett varningsmeddelande väljer du Fortsätt.

    Visual Studio skapar, paketerar och publicerar appen till Azure och startar sedan appen i standardwebbläsaren.

    Du ser webbappen ASP.NET Core 7.0 som visas på sidan.

    Screenshot of Visual Studio - ASP.NET Core 7.0 web app in Azure.

  1. Öppna kommandopaletten i Visual Studio Code genom att välja Visa>kommandopalett.

  2. Sök efter och välj "Azure App Service: Create New Web App (Advanced)".

  3. Svara på anvisningarna på följande sätt:

    1. Logga in på ditt Azure-konto om du uppmanas att göra det.
    2. Välj din prenumeration.
    3. Välj Skapa ny webbapp... Avancerat.
    4. För Ange ett globalt unikt namn använder du ett namn som är unikt för alla Azure (giltiga tecken är a-z, 0-9och -). Ett bra mönster är att använda en kombination av företagets namn och en appidentifierare.
    5. Välj Skapa ny resursgrupp och ange ett namn som myResourceGroup.
    6. När du uppmanas att välja en körningsstack väljer du .NET 7 (STS).
    7. Välj ett operativsystem (Windows eller Linux).
    8. Välj en plats nära dig.
    9. Välj Skapa en ny App Service-plan, ange ett namn och välj prisnivån F1 Kostnadsfri.
    10. Välj Hoppa över för tillfället för Application Insights-resursen.
    11. När du uppmanas att göra det klickar du på Distribuera.
    12. Välj MyFirstAzureWebApp som den mapp som ska distribueras.
    13. Välj Lägg till konfiguration när du uppmanas att göra det.
  4. I popup-fönstret Distribuera alltid arbetsytan "MyFirstAzureWebApp" till <appnamn>, välj Ja så att Visual Studio Code distribueras till samma App Service-app varje gång du befinner dig på arbetsytan.

  5. När publiceringen är klar väljer du Bläddra på webbplatsen i meddelandet och väljer Öppna när du uppmanas att göra det.

    Du ser webbappen ASP.NET Core 7.0 som visas på sidan.

    Screenshot of Visual Studio Code - ASP.NET Core 7.0 web app in Azure.

  1. Logga in på ditt Azure-konto med hjälp az login av kommandot och följ kommandotolken:

    az login
    
    • az Om kommandot inte identifieras kontrollerar du att Azure CLI är installerat enligt beskrivningen i Krav.
  2. Distribuera koden i din lokala Katalogen MyFirstAzureWebApp med kommandot az webapp up :

    az webapp up --sku F1 --name <app-name> --os-type <os>
    
    • Ersätt <app-name> med ett namn som är unikt för hela Azure (giltiga tecken är a-z, 0-9och -). Ett bra mönster är att använda en kombination av företagets namn och en appidentifierare.
    • Argumentet --sku F1 skapar webbappen på prisnivån Kostnadsfri. Utelämna det här argumentet om du vill använda en snabbare premiumnivå, vilket medför en timkostnad.
    • Ersätt <os> med antingen linux eller windows.
    • Du kan också inkludera argumentet --location <location-name> där <location-name> är en tillgänglig Azure-region. Du kan hämta en lista över tillåtna regioner för ditt Azure-konto genom att az account list-locations köra kommandot .

    Det kan ta några minuter att slutföra kommandot. När den körs innehåller kommandot meddelanden om att skapa resursgruppen, App Service-planen och värdappen, konfigurera loggning och sedan utföra ZIP-distribution. Sedan visas ett meddelande med appens URL:

    You can launch the app at http://<app-name>.azurewebsites.net
    
  3. Öppna en webbläsare och gå till URL:en:

    Du ser webbappen ASP.NET Core 7.0 som visas på sidan.

    Screenshot of the CLI - ASP.NET Core 7.0 web app in Azure.

Kommentar

Azure PowerShell rekommenderas för att skapa appar på Windows-värdplattformen. Om du vill skapa appar i Linux använder du ett annat verktyg, till exempel Azure CLI.

  1. Logga in på ditt Azure-konto med hjälp Connect-AzAccount av kommandot och följ kommandotolken:

    Connect-AzAccount
    
  1. Skapa en ny app med kommandot New-AzWebApp :

    New-AzWebApp -Name <app-name> -Location westeurope
    
    • Ersätt <app-name> med ett namn som är unikt för hela Azure (giltiga tecken är a-z, 0-9och -). En kombination av företagets namn och en appidentifierare är ett bra mönster.
    • Du kan också inkludera parametern -Location <location-name> där <location-name> är en tillgänglig Azure-region. Du kan hämta en lista över tillåtna regioner för ditt Azure-konto genom att Get-AzLocation köra kommandot .

    Det kan ta några minuter att slutföra kommandot. När den körs skapar kommandot en resursgrupp, en App Service-plan och App Service-resursen.

  2. Från rotmappen för programmet förbereder du ditt lokala MyFirstAzureWebApp-program för distribution med kommandot dotnet publish :

    dotnet publish --configuration Release
    
  3. Ändra till versionskatalogen och skapa en zip-fil från innehållet:

    cd bin\Release\net7.0\publish
    Compress-Archive -Path * -DestinationPath deploy.zip
    
  4. Publicera zip-filen till Azure-appen med kommandot Publish-AzWebApp :

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

    Kommentar

    -ArchivePath behöver den fullständiga sökvägen till zip-filen.

  5. Öppna en webbläsare och gå till URL:en:

    Du ser webbappen ASP.NET Core 7.0 som visas på sidan.

    Screenshot of the CLI - ASP.NET Core 7.0 web app in Azure.

  1. Skriv apptjänster i sökningen. Under Tjänster väljer du App Services.

    Screenshot of portal search in the Azure portal.

  2. På sidan App Services väljer du + Skapa.

  3. På fliken Grundläggande :

    • Välj Skapa ny under Resursgrupp. Skriv myResourceGroup som namn.
    • Under Namn skriver du ett globalt unikt namn för din webbapp.
    • Under Publicera väljer du Kod.
    • Under Körningsstack väljer du .NET 7 (STS).
    • Välj ett operativsystem och en region som du vill hantera din app från.
    • Under App Service-plan väljer du Skapa ny och skriver myAppServicePlan som namn.
    • Under Prisplan väljer du Kostnadsfri F1.

    Screenshot of new App Service app configuration for .NET 7 in the Azure portal.

  4. Välj fliken Distribution överst på sidan

  5. Under Inställningar för GitHub Actions anger du Kontinuerlig distribution till Aktivera.

  6. Under GitHub Actions-information autentiserar du med ditt GitHub-konto och väljer följande alternativ:

    • För Organisation väljer du den organisation där du har förgrenat demoprojektet.
    • För Lagringsplats väljer du projektet dotnetcore-docs-hello-world .
    • För Gren väljer du original.

    Screenshot of the deployment options for an app using the .NET 6 runtime.

    Kommentar

    Som standard inaktiverar guiden skapa grundläggande autentisering och GitHub Actions-distributionen skapas med hjälp av en användartilldelad identitet. Om du får ett behörighetsfel när resursen skapas kanske ditt Azure-konto inte har tillräckligt med behörigheter. Du kan konfigurera GitHub Actions-distribution senare med en identitet som genererats åt dig av en Azure-administratör, eller också kan du aktivera grundläggande autentisering i stället.

  7. Välj knappen Granska + skapa längst ned på sidan.

  8. När valideringen har körts väljer du knappen Skapa längst ned på sidan.

  9. När distributionen är klar väljer du Gå till resurs.

    Screenshot of the next step of going to the resource.

  10. Bläddra till det distribuerade programmet i webbläsaren på URL:en http://<app-name>.azurewebsites.net.

  1. Logga in på ditt Azure-konto med kommandot az login och följ kommandotolken:

    azd auth login
    
  2. Skapa Azure-resurserna och distribuera din app med hjälp av azd up kommandot :

    azd up
    

    Det azd up kan ta några minuter att slutföra kommandot. azd up använder Bicep-filerna i dina projekt för att skapa resursgruppen, App Service-planen och värdappen. Den utför också vissa konfigurationer som att aktivera loggning och distribuerar din kompilerade appkod. När den körs innehåller kommandot meddelanden om etablerings- och distributionsprocessen, inklusive en länk till distributionen i Azure. När det är klart visar kommandot även en länk till distributionsprogrammet.

  3. Öppna en webbläsare och gå till URL:en:

    Du ser webbappen ASP.NET Core 7.0 som visas på sidan.

    Screenshot of the deployed .NET Framework 4.8 sample app.

3. Uppdatera appen och distribuera om

Följ dessa steg för att uppdatera och distribuera om webbappen:

  1. Öppna Index.cshtml under projektet i Solution Explorer.

  2. Ersätt det första <div> elementet med följande kod:

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

    Spara dina ändringar.

  3. Om du vill distribuera om till Azure högerklickar du på projektet MyFirstAzureWebApp i Solution Explorer och väljer Publicera.

  4. På sidan Publicera sammanfattning väljer du Publicera.

    När publiceringen är klar startar Visual Studio en webbläsare till webbappens URL.

    Du ser den uppdaterade ASP.NET Core 7.0-webbappen som visas på sidan.

    Screenshot of Visual Studio - Updated ASP.NET Core 7.0 web app in Azure.

  1. Öppna Index.cshtml.

  2. Ersätt det första <div> elementet med följande kod:

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

    Spara dina ändringar.

  3. Öppna kommandopaletten Ctrl+Skift+P i Visual Studio Code.

  4. Sök efter och välj "Azure App Service: Deploy to Web App".

  5. Välj Distribuera när du uppmanas att göra det.

  6. När publiceringen är klar väljer du Bläddra på webbplatsen i meddelandet och väljer Öppna när du uppmanas att göra det.

    Du ser den uppdaterade ASP.NET Core 7.0-webbappen som visas på sidan.

    Screenshot of Visual Studio Code - Updated ASP.NET Core 7.0 web app in Azure.

Öppna filen Index.cshtml i den lokala katalogen. Ersätt det första <div> elementet:

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

Spara ändringarna och distribuera sedan om appen med kommandot az webapp up igen:

ASP.NET Core 7.0 är plattformsoberoende, baserat på din tidigare distribution ersätts <os> med antingen linux eller windows.

az webapp up --os-type <os>

Det här kommandot använder värden som cachelagras lokalt i .azure/config-filen , inklusive appnamnet, resursgruppen och App Service-planen.

När distributionen är klar går du tillbaka till webbläsarfönstret som öppnades när du skulle söka efter appen och klickar på knappen för att uppdatera.

Du ser den uppdaterade ASP.NET Core 7.0-webbappen som visas på sidan.

Screenshot of the CLI - Updated ASP.NET Core 7.0 web app in Azure.

  1. Öppna filen Index.cshtml i den lokala katalogen. Ersätt det första <div> elementet:

    <div class="jumbotron">
        <h1>.NET 💜 Azure</h1>
        <p class="lead">Example .NET app to Azure App Service.</p>
    </div>
    
  2. Från rotmappen för programmet förbereder du ditt lokala MyFirstAzureWebApp-program för distribution med kommandot dotnet publish :

    dotnet publish --configuration Release
    
  3. Ändra till versionskatalogen och skapa en zip-fil från innehållet:

    cd bin\Release\net7.0\publish
    Compress-Archive -Path * -DestinationPath deploy.zip
    
  4. Publicera zip-filen till Azure-appen med kommandot Publish-AzWebApp :

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

    Kommentar

    -ArchivePath behöver den fullständiga sökvägen till zip-filen.

  5. När distributionen är klar går du tillbaka till webbläsarfönstret som öppnades när du skulle söka efter appen och klickar på knappen för att uppdatera.

    Du ser den uppdaterade ASP.NET Core 7.0-webbappen som visas på sidan.

    Screenshot of the CLI - Updated ASP.NET Core 7.0 web app in Azure.

  1. Bläddra till din GitHub-förgrening av exempelkoden.

  2. På lagringsplatsen trycker du på . för att starta Visual Studio Code i webbläsaren.

    Kommentar

    URL:en ändras från GitHub.com till GitHub.dev. Den här funktionen fungerar bara med lagringsplatser som har filer. Detta fungerar inte på tomma lagringsplatser.

  3. Öppna Index.cshtml.

    Index.cshtml finns i Pages mappen.

    Screenshot of the Explorer window from Visual Studio Code in the browser, highlighting the Index.cshtml in the dotnetcore-docs-hello-world repo.

  4. Ersätt det första <div> elementet med följande kod:

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

    Spara dina ändringar.

  5. På menyn Källkontroll väljer du knappen Stegändringar för att mellanlagra ändringen.

  6. Ange ett incheckningsmeddelande, till exempel We love Azure. Välj sedan Checka in och skicka.

  7. När distributionen är klar går du tillbaka till webbläsarfönstret som öppnades när du skulle söka efter appen och klickar på knappen för att uppdatera sidan.

    Du ser den uppdaterade ASP.NET Core 7.0-webbappen som visas på sidan.

    Screenshot of the CLI - Updated ASP.NET Core 7.0 web app in Azure.

Öppna filen Index.cshtml i den lokala katalogen. Ersätt det första <div> elementet:

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

Spara ändringarna och distribuera sedan om appen med kommandot azd up igen:

azd up

azd up hoppar över etableringsresurserna den här gången och distribuerar bara om koden, eftersom det inte har gjorts några ändringar i Bicep-filerna.

När distributionen har slutförts öppnas webbläsaren för den uppdaterade ASP.NET Core 7.0-webbappen.

Screenshot of the CLI - Updated ASP.NET Core 7.0 web app in Azure.

4. Hantera Azure-appen

Om du vill hantera din webbapp går du till Azure-portalen och söker efter och väljer App Services.

Screenshot of the Azure portal - Select App Services option.

På sidan App Services väljer du namnet på din webbapp.

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

Sidan Översikt för din webbapp innehåller alternativ för grundläggande hantering som att bläddra, stoppa, starta, starta om och ta bort. Den vänstra menyn innehåller ytterligare sidor för att konfigurera din app.

Screenshot of the Azure portal - App Service overview page.

Rensa resurser

I de föregående stegen skapade du Azure-resurser i en resursgrupp. Om du inte tror att du behöver dessa resurser i framtiden, kan du ta bort dem genom att ta bort resursgruppen.

  1. Från ditt webbprograms Översiktsida i Azure portal väljer du länken myResourceGroup under resursgruppen.
  2. Kontrollera att resurser på resursgruppsidan är de som du vill ta bort.
  3. Välj Ta bort, skriv myResourceGroup i textrutan och välj sedan Ta bort.

Rensa resurser

I de föregående stegen skapade du Azure-resurser i en resursgrupp. Om du inte tror att du behöver dessa resurser i framtiden, kan du ta bort dem genom att ta bort resursgruppen.

  1. Från ditt webbprograms Översiktsida i Azure portal väljer du länken myResourceGroup under resursgruppen.
  2. Kontrollera att resurser på resursgruppsidan är de som du vill ta bort.
  3. Välj Ta bort, skriv myResourceGroup i textrutan och välj sedan Ta bort.

Rensa resurser

I de föregående stegen skapade du Azure-resurser i en resursgrupp. Om du inte tror att du behöver dessa resurser i framtiden tar du bort resursgruppen genom att köra följande kommando i Cloud Shell:

az group delete --name myResourceGroup

Det kan några minuter att köra kommandot.

Rensa resurser

I de föregående stegen skapade du Azure-resurser i en resursgrupp. Om du inte förväntar dig att behöva dessa resurser i framtiden tar du bort resursgruppen genom att köra följande PowerShell-kommando:

Remove-AzResourceGroup -Name myResourceGroup

Det kan några minuter att köra kommandot.

Rensa resurser

I de föregående stegen skapade du Azure-resurser i en resursgrupp. Om du inte tror att du behöver dessa resurser i framtiden, kan du ta bort dem genom att ta bort resursgruppen.

  1. Från ditt webbprograms Översiktsida i Azure portal väljer du länken myResourceGroup under resursgruppen.
  2. Kontrollera att resurser på resursgruppsidan är de som du vill ta bort.
  3. Välj Ta bort, skriv myResourceGroup i textrutan och välj sedan Ta bort.

Rensa resurser

azd down Använd kommandot för att ta bort resursgruppen och alla resurser som är associerade med den:

azd down

Gå till Azure Developer CLI-dokumentationen för nästa steg om hur du arbetar med azd mallar och ytterligare funktioner.

Nästa steg

Gå vidare till nästa artikel för att lära dig hur du skapar en .NET Core-app och ansluter den till en SQL Database: