Eseguire la migrazione e pubblicare un'applicazione Web in un servizio cloud di Azure da Visual Studio

Nota

Questo articolo si applica ad Azure Servizi cloud (versione classica), ora deprecata per i nuovi clienti e verrà ritirata il 31 agosto 2024. I servizi esistenti creati con questa tecnologia sono ancora supportati tramite Azure Servizi cloud (supporto esteso). Per un nuovo sviluppo, è consigliabile usare un tipo di servizio più recente progettato per scopi specifici, ad esempio servizio app Azure, Funzioni di Azure o app contenitore di Azure. Per l'elenco più recente dei servizi disponibili, vedere Directory dei prodotti Azure.

Per sfruttare i servizi di hosting e scalabilità di Azure, è possibile eseguire la migrazione e la distribuzione dell'applicazione Web in un servizio cloud di Azure. Sono necessarie solo modifiche minime al codice. Questo articolo illustra solo la procedura di distribuzione in un servizio cloud; per il Servizio app, vedere Distribuire un'app Web nel Servizio app di Azure.

Importante

Questa migrazione è supportata solo per i progetti specifici ASP.NET, WCF e flusso di lavoro WCF. Non è supportata per progetti ASP.NET Core. Vedere Modelli di progetto supportati.

Prerequisiti

Migrare un progetto in un servizio cloud

  1. Fare clic con il pulsante destro del mouse sul nodo della soluzione e scegliere Aggiungi > nuovo progetto e aggiungere un nuovo progetto di Servizio cloud di Azure (versione classica) alla soluzione esistente.

  2. Nella finestra di dialogo Nuovo servizio cloud di Microsoft Azure (versione classica) fare clic su OK senza aggiungere ruoli al progetto.

  3. Fare clic con il pulsante destro del mouse sul nodo ruoli nel progetto di Servizi cloud appena aggiunto e scegliere Aggiungi progetto ruolo Web nella soluzione....

  4. Nella finestra di dialogo Associa al progetto ruolo selezionare il progetto da associare come ruolo Web.

    Importante

    Se si dispone di altri assembly o file necessari per l'applicazione Web, è necessario impostare manualmente le proprietà di questi file. Per informazioni su come impostare queste proprietà, vedere Includere file nel pacchetto del servizio.

Errori e avvisi

Eventuali avvisi o errori visualizzati indicano problemi da risolvere prima di eseguire la distribuzione in Azure, ad esempio assembly mancanti.

Se si compila l'applicazione, eseguirla in locale usando l'emulatore di calcolo o pubblicarla in Azure, potrebbe essere visualizzato l'errore: "Il percorso, il nome file o entrambi sono troppo lunghi". Questo errore indica che la lunghezza del nome completo del progetto di Azure supera i 146 caratteri. Per correggere il problema, spostare la soluzione in una cartella diversa con un percorso più breve.

Per altre informazioni su come gestire eventuali avvisi come errori, vedere Configurare un progetto di servizio cloud di Azure con Visual Studio.

Testare la migrazione in locale

  1. In Esplora soluzioni di Visual Studio fare clic con il pulsante destro del mouse sul progetto di servizio cloud aggiunto e selezionare Imposta come progetto di avvio.
  2. Selezionare Debug > Avvia debug (F5) per avviare l'ambiente di debug di Azure. Questo ambiente consente, nello specifico, l'emulazione di vari servizi di Azure.

Usare un database SQL di Azure per l'applicazione

Se si ha una stringa di connessione per l'applicazione Web che usa un database SQL Server locale, è necessario eseguire la migrazione del database al database SQL di Azure e aggiornare la stringa di connessione. Per istruzioni su questo processo, vedere gli argomenti seguenti:

Pubblicare l'applicazione in un servizio cloud di Azure

  1. Creare gli account di archiviazione e dei servizi cloud necessari nella sottoscrizione di Azure, come descritto in Preparare la pubblicazione o la distribuzione di un'applicazione di Azure da Visual Studio.

  2. In Visual Studio fare clic con il pulsante destro del mouse sul progetto dell'applicazione e scegliere Pubblica in Microsoft Azure... (diverso da "Pubblica..." comando).

  3. Nella pagina Pubblica app Azure lication visualizzata accedere usando l'account con la sottoscrizione di Azure e selezionare Avanti>.

  4. Nella scheda Impostazioni comuni Impostazioni > selezionare il servizio cloud di destinazione dall'elenco a discesa Servizio cloud, insieme all'ambiente e alle configurazioni scelti.

  5. In Impostazioni > Impostazioni avanzate selezionare l'account di archiviazione da usare e quindi selezionare Avanti>.

  6. In Diagnostica decidere se si vuole inviare informazioni ad Application Insights.

  7. Selezionare Avanti > per visualizzare un riepilogo, quindi selezionare Pubblica per avviare la distribuzione.

  8. Visual Studio apre una finestra Log attività in cui è possibile monitorare lo stato di avanzamento del processo:

    VST_AzureActivityLog

  9. (Facoltativo) Per annullare il processo di distribuzione, fare clic con il pulsante destro del mouse sulla voce del log attività e scegliere Annulla e rimuovi. Questo comando arresta il processo di distribuzione ed elimina l'ambiente di distribuzione da Azure. Nota: per rimuovere questo ambiente di distribuzione dopo che è stato distribuito, è necessario usare il portale di Azure.

  10. Per accedere all'applicazione dopo la distribuzione, scegliere la freccia accanto alla distribuzione quando nel Log attività di Azure viene visualizzato lo stato Completato insieme all'URL. Vedere la tabella seguente per informazioni dettagliate su come avviare un tipo specifico di applicazione Web da Azure.

Utilizzo dell'emulatore di calcolo e avvio dell'applicazione in Azure

È possibile avviare tutti i tipi di applicazioni in un browser connesso al debugger di Visual Studio selezionando Debug Avvia debug > (F5). Con un progetto di applicazione Web ASP.NET vuota, è necessario prima aggiungere una pagina .aspx nell'applicazione e impostarla come pagina iniziale del progetto Web.

La tabella seguente fornisce informazioni dettagliate sull'avvio dell'applicazione in Azure:

Tipo di applicazione Web Esecuzione in Azure
Applicazione Web ASP.NET
(incluso Model-View-Controller (MVC) 2, MVC 3, MVC 4)
Nella scheda Distribuzione selezionare l'URL per Log attività di Azure.
Applicazione Web ASP.NET vuota Se si ha una pagina .aspx predefinita nell'applicazione, nella scheda Distribuzione selezionare l'URL per Log attività di Azure. Per passare a una pagina diversa, in un browser immettere un URL nel formato seguente: <deployment_url>/<page_name>.aspx
Applicazione di servizio WCF
Applicazione di servizio del flusso di lavoro WCF
Impostare il file .svc come pagina iniziale del progetto di servizio WCF. Passare a <deployment_url>/<service_file>.svc
Entità dinamiche ASP.NET
ASP.NET Dynamic Data LINQ to SQL
Aggiornare la stringa di connessione, come descritto nella sezione seguente. Passare quindi a <deployment_url>/<page_name>.aspx. Per LINQ to SQL, è necessario usare un database SQL di Azure.

Aggiornamento di una stringa di connessione per entità dinamiche ASP.NET

  1. Creare un database SQL di Azure per un'applicazione Web ASP.NET Entità dinamiche, come descritto in precedenza in (#use-an-azuresql-database-for-your-application).

  2. Aggiungere le tabelle e i campi necessari per il database dal portale di Azure.

  3. Specificare una stringa di connessione nel file web.config con il formato seguente e salvare il file:

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

    Aggiornare il valore connectionString con il ADO.NET stringa di connessione per il database SQL di Azure come indicato di seguito:

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

Modelli di progetto supportati

Le applicazioni di cui è possibile eseguire la migrazione e la pubblicazione nei servizi cloud devono usare uno dei modelli nella tabella seguente. ASP.NET Core non è supportato.

Gruppo di modelli Modello di progetto
Web Applicazione Web ASP.NET (.NET Framework)
Web Applicazione Web ASP.NET MVC 2
Web Applicazione Web ASP.NET MVC 3
Web Applicazione Web ASP.NET MVC4
Web Applicazione Web ASP.NET vuota (o Sito)
Web Applicazione Web vuota ASP.NET MVC 2
Web Applicazione Web entità ASP.NET Dynamic Data
Web ASP.NET'applicazione Web LINQ to SQL Dynamic Data
WCF Applicazione di servizio WCF
WCF Applicazione di servizio del flusso di lavoro WCF
Workflow Applicazione di servizio del flusso di lavoro WCF