Guida introduttiva: Distribuire un'app Web ASP.NET

In questa guida introduttiva si apprenderà come creare e distribuire la prima app Web ASP.NET in Servizio app di Azure. servizio app supporta diverse versioni delle app .NET e offre un servizio di hosting Web con scalabilità elevata e auto-patch. ASP.NET le app Web sono multipiattaforma e possono essere ospitate in Linux o Windows. Al termine, si avrà un gruppo di risorse di Azure costituito da un piano di hosting del servizio app e un servizio app con un'applicazione Web distribuita.

Prerequisiti

Se è già stato installato Visual Studio 2022:

  1. Installare gli aggiornamenti più recenti in Visual Studio selezionando ?>Controlla aggiornamenti.
  2. Aggiungere il carico di lavoro selezionando Strumenti>Ottieni strumenti e funzionalità.
Installare la versione più recente di .NET 6.0 SDK.
Installare la versione più recente di .NET 6.0 SDK.
Installare la versione più recente di .NET 6.0 SDK.

Creare un'app Web ASP.NET

  1. Aprire Visual Studio e selezionare Crea un nuovo progetto.

  2. In Crea un nuovo progetto trovare e selezionare ASP.NET Core'app Web, quindi selezionare Avanti.

  3. In Configura il nuovo progetto assegnare all'applicazione il nome MyFirstAzureWebApp e quindi selezionare Avanti.

    Visual Studio - Configure ASP.NET 6.0 web app.

  4. Selezionare .NET Core 6.0 (supporto a lungo termine).

  5. Verificare che Il tipo di autenticazione sia impostato su Nessuno. Selezionare Crea.

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

  6. Nel menu di Visual Studio selezionare Debug>Avvia senza eseguire debug per eseguire l'app Web in locale.

    Visual Studio - ASP.NET Core 6.0 running locally.

  1. Nella finestra del terminale creare una nuova cartella denominata MyFirstAzureWebApp e aprirla in Visual Studio Code.

    mkdir MyFirstAzureWebApp
    code MyFirstAzureWebApp
    
  2. In Visual Studio Code aprire la finestra Terminale digitando Ctrl + `.

  3. Nel terminale Visual Studio Code creare una nuova app Web .NET usando il dotnet new webapp comando .

    dotnet new webapp -f net6.0
    
  4. Dal terminale in Visual Studio Code eseguire l'applicazione in locale usando il dotnet run comando .

    dotnet run --urls=https://localhost:5001/
    
  5. Aprire un Web browser e passare all'app all'indirizzo https://localhost:5001.

    Nella pagina verrà visualizzato il modello ASP.NET Core'app Web 6.0.

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

  1. Aprire una finestra del terminale nel computer in una directory di lavoro. Creare una nuova app Web .NET usando il dotnet new webapp comando e quindi modificare le directory nell'app appena creata.

    dotnet new webapp -n MyFirstAzureWebApp --framework net6.0
    cd MyFirstAzureWebApp
    
  2. Dalla stessa sessione del terminale eseguire l'applicazione in locale usando il dotnet run comando .

    dotnet run --urls=https://localhost:5001/
    
  3. Aprire un Web browser e passare all'app all'indirizzo https://localhost:5001.

    Nella pagina verrà visualizzato il modello ASP.NET Core'app Web 6.0.

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

Pubblicare l'app Web

Per pubblicare l'app Web, è necessario prima creare e configurare un nuovo servizio app in cui pubblicarla.

Come parte della configurazione del servizio app, si creeranno:

  • Un nuovo gruppo di risorse che conterrà tutte le risorse di Azure per il servizio.
  • Un nuovo piano di hosting che specifica la località, le dimensioni e le funzionalità della server farm Web che ospita l'app.

Seguire questa procedura per creare le risorse servizio app e pubblicare il progetto:

  1. In Esplora soluzioni fare clic con il pulsante destro del mouse sul progetto MyFirstAzureWebApp e scegliere Pubblica.

  2. In Pubblica selezionare Azure e quindi Avanti.

    Visual Studio - Publish the web app and target Azure.

  3. Scegliere la destinazione specifica, Servizio app di Azure (Linux) o Servizio app di Azure (Windows). Quindi selezionare Avanti.

    Importante

    Quando la destinazione è ASP.NET Framework 4.8, usare Servizio app di Azure (Windows).When targeting ASP.NET Framework 4.8, use Servizio app di Azure (Windows).

  4. Le opzioni disponibili variano a seconda che sia già stato eseguito l'accesso ad Azure e che si abbia un account di Visual Studio collegato a un account di Azure. Selezionare Aggiungi un account o Accedi per accedere alla sottoscrizione di Azure. Se è già stato effettuato l'accesso, selezionare l'account da usare.

    Visual Studio - Select sign in to Azure dialog.

  5. A destra delle istanze di servizio app selezionare +.

    Visual Studio - New App Service app dialog.

  6. Per Sottoscrizione, accettare la sottoscrizione elencata o sceglierne una nuova nell'elenco a discesa.

  7. Per Gruppo di risorse selezionare Nuovo. In Nome nuovo gruppo di risorse immettere myResourceGroup e scegliere OK.

  8. Per Piano di hosting selezionare Nuovo.

  9. Nella finestra di dialogo Piano di hosting: Crea nuovo immettere i valori specificati nella tabella seguente:

    Impostazione Valore consigliato Descrizione
    Piano di hosting MyFirstAzureWebAppPlan Nome del piano di servizio app.
    Posizione Europa occidentale Data center in cui è ospitata l'app Web.
    Dimensione Free Piano tariffario che determina le funzionalità di hosting.

    Create new Hosting Plan

  10. In Nome immettere un nome univoco per l'app che includa solo i caratteri validi, ossia a-z, A-Z, 0-9 e -. È possibile accettare il nome univoco generato automaticamente. L'URL dell'app Web è http://<app-name>.azurewebsites.net, dove <app-name> è il nome dell'app.

  11. Selezionare Crea per creare le risorse di Azure.

    Visual Studio - Create app resources dialog.

    Al termine della procedura guidata, le risorse di Azure vengono create automaticamente e si è pronti per pubblicare il progetto ASP.NET Core.

  12. Nella finestra di dialogo Pubblica verificare che la nuova app servizio app sia selezionata nell'istanza di servizio app e quindi selezionare Fine. Visual Studio crea automaticamente un profilo di pubblicazione per l'app servizio app selezionata.

  13. Nella pagina Pubblica selezionare Pubblica. Se viene visualizzato un messaggio di avviso, selezionare Continua.

    Visual Studio compila, crea il pacchetto e pubblica l'app in Azure, quindi la avvia nel browser predefinito.

    Nella pagina verrà visualizzata l'app Web ASP.NET Core 6.0.

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

  1. In Visual Studio Code aprire il riquadro comandiCTRLMAIUSC++.

  2. Cercare e selezionare "Servizio app di Azure: Deploy to Web App".

  3. Rispondere alle richieste come segue:

    1. Selezionare MyFirstAzureWebApp come cartella da distribuire.
    2. Selezionare Aggiungi configurazione quando richiesto.
    3. Se richiesto, accedere all'account di Azure.
    4. Selezionare la sottoscrizione.
    5. Selezionare Crea nuova app Web... Avanzate.
    6. Per Immettere un nome univoco globale, usare un nome univoco in tutte le risorse di Azure (i caratteri validi sono a-z, 0-9e -). Un criterio valido consiste nell'usare una combinazione del nome della società e di un identificatore dell'app.
    7. Selezionare Crea nuovo gruppo di risorse e specificare un nome, ad esempio myResourceGroup.
    8. Quando viene richiesto di selezionare uno stack di runtime:
    • Per .NET 6.0 selezionare .NET 6
    • Per .NET Framework 4.8 selezionare ASP.NET V4.8
    1. Selezionare un sistema operativo (Windows o Linux).
      • Per .NET Framework 4.8, Windows verrà selezionato in modo implicito.
    2. Selezionare una località nelle vicinanze.
    3. Selezionare Crea un nuovo piano servizio app, specificare un nome e selezionare il livello F1Freepricing.
    4. Per la risorsa di Application Insight, selezionare Ignora per adesso.
  4. Nella finestra popup Distribuire sempre l'area di lavoro "MyFirstAzureWebApp" in <app-name>", selezionare in modo che Visual Studio Code venga distribuita nella stessa app servizio app ogni volta che ci si trova nell'area di lavoro.

  5. Al termine della pubblicazione, selezionare Sfoglia sito Web nella notifica e selezionare Apri quando richiesto.

    Nella pagina verrà visualizzata l'app Web ASP.NET Core 6.0.

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

  1. Accedere all'account Azure usando il az login comando e seguendo il prompt:

    az login
    
  2. Distribuire il codice nella directory MyFirstAzureWebApp locale usando il az webapp up comando :

    az webapp up --sku F1 --name <app-name> --os-type <os>
    
    • Se il az comando non viene riconosciuto, assicurarsi di avere installato l'interfaccia della riga di comando di Azure come descritto in Prerequisiti.
    • Sostituire <app-name> con un nome univoco nell'ambito di Azure (i caratteri validi sono a-z, 0-9 e - ). Un criterio valido consiste nell'usare una combinazione del nome della società e di un identificatore dell'app.
    • L'argomento --sku F1 crea l'app Web nel livello Freepricing. Omettere questo argomento per usare un livello Premium più rapido, che però comporta un costo orario.
    • Sostituire <os> con linux o windows. È necessario usare windows per la destinazione ASP.NET Framework 4.8.
    • Facoltativamente, è possibile includere l'argomento --location <location-name>, dove <location-name> è un'area di Azure disponibile. Per recuperare un elenco di aree consentite per l'account Azure, è possibile eseguire il comando az account list-locations.

    Il completamento del comando potrebbe richiedere alcuni minuti. Durante l'esecuzione, fornisce messaggi sulla creazione del gruppo di risorse, sul piano di servizio app e sull'hosting dell'app, sulla configurazione della registrazione e sull'esecuzione della distribuzione ZIP. Viene quindi visualizzato un messaggio con l'URL dell'app:

    You can launch the app at http://<app-name>.azurewebsites.net
    
  3. Aprire un Web browser e passare all'URL:

    Nella pagina verrà visualizzata l'app Web ASP.NET Core 6.0.

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

Nota

Azure PowerShell è consigliabile creare app nella piattaforma di hosting Windows. Per creare app in Linux, usare uno strumento diverso, ad esempio l'interfaccia della riga di comando di Azure.

  1. Accedere all'account Azure usando il Connect-AzAccount comando e seguendo il prompt:

    Connect-AzAccount
    
  1. Creare una nuova app usando il comando New-AzWebApp :

    New-AzWebApp -Name <app-name> -Location westeurope
    
    • Sostituire <app-name> con un nome univoco nell'ambito di Azure (i caratteri validi sono a-z, 0-9 e - ). Una combinazione del nome della società e di un identificatore di app è un modello valido.
    • Facoltativamente, è possibile includere il parametro -Location <location-name> in cui <location-name> è disponibile un'area di Azure. Per recuperare un elenco di aree consentite per l'account Azure, è possibile eseguire il comando Get-AzLocation.

    Il completamento del comando potrebbe richiedere alcuni minuti. Durante l'esecuzione, crea un gruppo di risorse, un piano servizio app e la risorsa servizio app.

  2. Dalla cartella radice dell'applicazione preparare l'applicazione MyFirstAzureWebApp locale per la distribuzione usando il dotnet publish comando :

    dotnet publish --configuration Release
    
  3. Passare alla directory di rilascio e creare un file ZIP dal contenuto:

    cd bin\Release\net6.0\publish
    Compress-Archive -Path * -DestinationPath deploy.zip
    
  4. Pubblicare il file ZIP nell'app di Azure usando il comando Publish-AzWebApp :

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

    Nota

    -ArchivePath richiede il percorso completo del file ZIP.

  5. Aprire un Web browser e passare all'URL:

    Nella pagina verrà visualizzata l'app Web ASP.NET Core 6.0.

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

Aggiornare e ridistribuire l'app

Seguire questa procedura per aggiornare e ridistribuire l'app Web:

  1. In Esplora soluzioni, sotto il progetto, aprire Index.cshtml.

  2. Sostituire il primo <div> elemento con il codice seguente:

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

    Salvare le modifiche.

  3. Per ridistribuire in Azure, fare clic con il pulsante destro del mouse sul progetto MyFirstAzureWebApp in Esplora soluzioni e scegliere Pubblica.

  4. Nella pagina di riepilogo Pubblica selezionare Pubblica.

    Al termine del processo di pubblicazione, Visual Studio avvia un browser sull'URL dell'app Web.

    Nella pagina verrà visualizzata l'app Web aggiornata ASP.NET Core 6.0.

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

  1. Aprire Index.cshtml.

  2. Sostituire il primo <div> elemento con il codice seguente:

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

    Salvare le modifiche.

  3. In Visual Studio Code aprire il riquadro comandiCTRLMAIUSC++.

  4. Cercare e selezionare "Servizio app di Azure: Deploy to Web App".

  5. Selezionare Distribuisci quando richiesto.

  6. Al termine della pubblicazione, selezionare Sfoglia sito Web nella notifica e selezionare Apri quando richiesto.

    Nella pagina verrà visualizzata l'app Web aggiornata ASP.NET Core 6.0.

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

Nella directory locale aprire il file Index.cshtml . Sostituire il primo <div> elemento:

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

Salvare le modifiche, quindi ridistribuire l'app usando di nuovo il comando az webapp up:

ASP.NET Core 6.0 è multipiattaforma, in base alla sostituzione <os> della distribuzione precedente con linux o windows.

az webapp up --os-type <os>

Questo comando usa i valori memorizzati nella cache in locale nel file .azure/config, inclusi il nome dell'app, il gruppo di risorse e il piano di servizio app.

Al termine della distribuzione, tornare alla finestra del browser aperta nel passaggio Passare all'app e fare clic su Aggiorna.

Nella pagina verrà visualizzata l'app Web aggiornata ASP.NET Core 6.0.

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

  1. Nella directory locale aprire il file Index.cshtml . Sostituire il primo <div> elemento:

    <div class="jumbotron">
        <h1>.NET 💜 Azure</h1>
        <p class="lead">Example .NET app to Azure App Service.</p>
    </div>
    
  2. Dalla cartella radice dell'applicazione preparare l'applicazione MyFirstAzureWebApp locale per la distribuzione usando il dotnet publish comando :

    dotnet publish --configuration Release
    
  3. Passare alla directory di rilascio e creare un file ZIP dal contenuto:

    cd bin\Release\net6.0\publish
    Compress-Archive -Path * -DestinationPath deploy.zip
    
  4. Pubblicare il file ZIP nell'app di Azure usando il comando Publish-AzWebApp :

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

    Nota

    -ArchivePath richiede il percorso completo del file ZIP.

  5. Al termine della distribuzione, tornare alla finestra del browser aperta nel passaggio Passare all'app e fare clic su Aggiorna.

    Nella pagina verrà visualizzata l'app Web aggiornata ASP.NET Core 6.0.

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

Gestire l'app Azure

Per gestire l'app Web, passare al portale di Azure, quindi cercare e selezionare Servizi app.

Azure portal - Select App Services option.

Nella pagina Servizi app selezionare il nome dell'app Web.

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

La pagina Panoramica per l'app Web contiene le opzioni per la gestione di base, ad esempio Sfoglia, Arresta, Avvia, Riavvia ed Elimina. Il menu a sinistra include ulteriori pagine per la configurazione dell'app.

Azure portal - App Service overview page.

Pulire le risorse

Nei passaggi precedenti sono state create risorse di Azure in un gruppo di risorse. Se non si prevede di aver bisogno di queste risorse in futuro, è possibile eliminarle eliminando il gruppo di risorse.

  1. Dalla pagina Panoramica dell'app Web nel portale di Azure selezionare il collegamento myResourceGroup in Gruppo di risorse.
  2. Nella pagina del gruppo di risorse assicurarsi che le risorse elencate siano quelle da eliminare.
  3. Selezionare Elimina, digitare myResourceGroup nella casella di testo e quindi selezionare Elimina.

Pulire le risorse

Nei passaggi precedenti sono state create risorse di Azure in un gruppo di risorse. Se non si prevede di aver bisogno di queste risorse in futuro, è possibile eliminarle eliminando il gruppo di risorse.

  1. Dalla pagina Panoramica dell'app Web nel portale di Azure selezionare il collegamento myResourceGroup in Gruppo di risorse.
  2. Nella pagina del gruppo di risorse assicurarsi che le risorse elencate siano quelle da eliminare.
  3. Selezionare Elimina, digitare myResourceGroup nella casella di testo e quindi selezionare Elimina.

Pulire le risorse

Nei passaggi precedenti sono state create risorse di Azure in un gruppo di risorse. Se si ritiene che queste risorse non saranno necessarie in futuro, eliminare il gruppo di risorse eseguendo questo comando in Cloud Shell:

az group delete --name myResourceGroup

L'esecuzione del comando può richiedere un minuto.

Pulire le risorse

Nei passaggi precedenti sono state create risorse di Azure in un gruppo di risorse. Se non si prevede che queste risorse siano necessarie in futuro, eliminare il gruppo di risorse eseguendo il comando di PowerShell seguente:

Remove-AzResourceGroup -Name myResourceGroup

L'esecuzione del comando può richiedere un minuto.

Passaggi successivi

In questa guida introduttiva è stata creata e distribuita un'app Web ASP.NET in Servizio app di Azure.

Procedere con l'articolo successivo per informazioni su come creare un'app .NET Core e connetterla a un database SQL: