ASP.NET distribuzione Web con Visual Studio: Distribuzione in produzione

di Tom Dykstra

Scaricare il progetto iniziale

Questa serie di esercitazioni illustra come distribuire (pubblicare) un'applicazione Web ASP.NET in Servizio app di Azure App Web o in un provider di hosting di terze parti usando Visual Studio 2012 o Visual Studio 2010. Per informazioni sulla serie, vedere la prima esercitazione nella serie.

Panoramica

In questa esercitazione viene configurato un account di Microsoft Azure, si creano ambienti di gestione temporanea e di produzione e si distribuisce l'applicazione Web ASP.NET negli ambienti di gestione temporanea e di produzione usando la funzionalità di pubblicazione con un clic su Visual Studio.

Se si preferisce, è possibile distribuire in un provider di hosting di terze parti. La maggior parte delle procedure descritte in questa esercitazione è identica per un provider di hosting o per Azure, ad eccezione del fatto che ogni provider dispone di un'interfaccia utente personalizzata per la gestione di account e siti Web. È possibile trovare un provider di hosting nella raccolta di provider nel sito Web Microsoft.com.

Promemoria: se viene visualizzato un messaggio di errore o qualcosa che non funziona durante l'esercitazione, assicurarsi di controllare la pagina Risoluzione dei problemi in questa serie di esercitazioni.

Ottenere un account Di Microsoft Azure

Se non si dispone già di un account Azure, è possibile creare un account di valutazione gratuito in pochi minuti. Per informazioni dettagliate, vedere la pagina relativa alla versione di valutazione gratuita di Azure.

Creare un ambiente di gestione temporanea

Nota

Poiché questa esercitazione è stata scritta, Servizio app di Azure aggiunto una nuova funzionalità per automatizzare molti dei processi per la creazione di ambienti di gestione temporanea e di produzione. Vedere Configurare gli ambienti di gestione temporanea per le app Web in Servizio app di Azure.

Come illustrato nell'esercitazione Distribuisci nell'ambiente di test, l'ambiente di test più affidabile è un sito Web nel provider di hosting simile al sito Web di produzione. In molti provider di hosting è necessario pesare i vantaggi di questo rispetto a costi aggiuntivi significativi, ma in Azure è possibile creare un'app Web gratuita aggiuntiva come app di gestione temporanea. È anche necessario un database e le spese aggiuntive per tale costo per il database di produzione saranno none o minime. In Azure si paga per la quantità di archiviazione del database usata anziché per ogni database e la quantità di archiviazione aggiuntiva usata nella gestione temporanea sarà minima.

Come illustrato nell'esercitazione Distribuisci nell'ambiente di test, nella gestione temporanea e nella produzione verranno distribuiti i due database in un database. Se si desidera mantenerli separati, il processo sarà lo stesso, ad eccezione del fatto che si creerebbe un database aggiuntivo per ogni ambiente e si seleziona la stringa di destinazione corretta per ogni database quando si crea il profilo di pubblicazione.

In questa sezione dell'esercitazione si creerà un'app Web e un database da usare per l'ambiente di staging e si eseguirà la distribuzione nella gestione temporanea e si testerà prima di creare e distribuire nell'ambiente di produzione.

Nota

La procedura seguente illustra come creare un'app Web in Servizio app di Azure usando il portale di gestione di Azure. Nella versione più recente di Azure SDK è anche possibile eseguire questa operazione senza uscire da Visual Studio usando Esplora server. In Visual Studio 2013 è anche possibile creare un'app Web direttamente dalla finestra di dialogo Pubblica. Per altre informazioni, vedere Creare un'app Web ASP.NET in Servizio app di Azure.

  1. Nel portale di gestione di Azure fare clic su Siti Web e quindi fare clic su Nuovo.

  2. Fare clic su Sito Web e quindi su Crea personalizzata.

    Verrà visualizzata la creazione guidata Nuovo sito Web - Creazione personalizzata . La creazione guidata personalizzata consente di creare un sito Web e un database contemporaneamente.

  3. Nel passaggio Crea sito Web della procedura guidata immettere una stringa nella casella URL da usare come URL univoco per l'ambiente di gestione temporanea dell'applicazione. Ad esempio, immettere ContosoUniversity-staging123 (inclusi i numeri casuali alla fine per renderlo univoco nel caso in cui ContosoUniversity-staging venga eseguito).

    L'URL completo sarà costituito da quanto immesso in questa casella e dal suffisso visualizzato accanto alla casella di testo.

  4. Nell'elenco a discesa Area scegliere l'area più vicina.

    Questa impostazione specifica il data center in cui verrà eseguita l'app Web.

  5. Nell'elenco a discesa Database scegliere Crea un nuovo database SQL.

  6. Nella casella Nome stringa di connessione DB lasciare il valore predefinito DefaultConnection.

  7. Fare clic sulla freccia che punta a destra nella parte inferiore della casella.

    La figura seguente mostra la finestra di dialogo Crea sito Web con valori di esempio. L'URL e l'area immessi saranno diversi.

    Creare il passaggio Del sito Web

    Verrà visualizzato il passaggio Specify database settings della procedura guidata.

  8. Nella casella Nome immettere ContosoUniversity più un numero casuale per renderlo univoco, ad esempio ContosoUniversity123.

  9. Nella casella Server selezionare Nuovo database SQL Server.

  10. Immettere un nome amministratore e una password.

    Qui non si immette un nome e una password esistenti. ma un nuovo nome e una nuova password definiti in questo momento e da usare in seguito per l'accesso al database.

  11. Nella casella Area scegliere la stessa area scelta per l'app Web.

    Mantenere il server Web e il server di database nella stessa area offre prestazioni ottimali e ridurre al minimo le spese.

  12. Fare clic sul segno di spunta nella parte inferiore della casella per indicare che si è completati.

    Nella figura seguente viene illustrata la finestra di dialogo Specifica impostazioni del database con valori di esempio. I valori immessi possono essere diversi.

    Passaggio Impostazioni database di Nuovo sito Web - Creazione guidata database con database

    Il portale di gestione torna alla pagina Siti Web e la colonna Stato mostra che l'app Web viene creata. Dopo un po' (in genere meno di un minuto), la colonna Stato mostra che l'app Web è stata creata correttamente. Nella barra di spostamento a sinistra il numero di app Web presenti nell'account viene visualizzato accanto all'icona Siti Web e il numero di database viene visualizzato accanto all'icona Database SQL .

    Pagina Siti Web del portale di gestione, sito Web creato

    Il nome dell'app Web sarà diverso dall'app di esempio nella figura.

Distribuire l'applicazione in gestione temporanea

Dopo aver creato un'app Web e un database per l'ambiente di gestione temporanea, è possibile distribuirlo.

Nota

Queste istruzioni illustrano come creare un profilo di pubblicazione scaricando un file con estensione publishsettings , che funziona non solo per Azure, ma anche per i provider di hosting di terze parti. L'SDK di Azure più recente consente anche di connettersi direttamente ad Azure da Visual Studio e scegliere da un elenco di app Web disponibili nell'account Azure. In Visual Studio 2013 è possibile accedere ad Azure dalla finestra di dialogo Pubblicazione Web o dalla finestra Esplora server. Per altre informazioni, vedere Creare un'app Web ASP.NET in Servizio app di Azure.

Scaricare il file con estensione publishsettings

  1. Fare clic sul nome dell'app Web appena creata.

    Fare clic sul sito per passare al dashboard

  2. In Panoramica nella scheda Dashboard fare clic su Scarica profilo di pubblicazione.

    Scaricare il collegamento Profilo di pubblicazione

    Questo passaggio scarica un file contenente tutte le impostazioni necessarie per distribuire un'applicazione nell'app Web. Questo file verrà importato in Visual Studio in modo da non dover immettere manualmente queste informazioni.

  3. Salvare il file con estensione publishsettings in una cartella a cui è possibile accedere da Visual Studio.

    salvataggio del file con estensione publishsettings

    Avviso

    Sicurezza: il file con estensione publishsettings contiene le credenziali (non codificate) usate per amministrare le sottoscrizioni e i servizi di Azure. La procedura consigliata di sicurezza per questo file consiste nell'archiviarlo temporaneamente all'esterno delle directory di origine, ad esempio nella cartella Raccolte\Documenti, e quindi di eliminarlo al termine dell'importazione. Un utente malintenzionato che ottiene l'accesso al file con estensione publishsettings può modificare, creare ed eliminare i servizi di Azure.

Creare un profilo di pubblicazione

  1. In Visual Studio fare clic con il pulsante destro del mouse sul progetto ContosoUniversity in Esplora soluzioni e scegliere Pubblica dal menu di scelta rapida.

    Viene visualizzata la procedura guidata Pubblica sito Web .

  2. Fare clic sulla scheda Profilo.

  3. Fare clic su Importa.

  4. Passare al file con estensione publishsettings scaricato in precedenza e quindi fare clic su Apri.

    Finestra di dialogo Importa impostazioni di pubblicazione

  5. Nella scheda Connessione fare clic su Convalida connessione per assicurarsi che le impostazioni siano corrette.

    Quando la connessione è stata convalidata, viene visualizzato un segno di spunta verde accanto al pulsante Convalida connessione .

    Per alcuni provider di hosting, quando si fa clic su Convalida connessione, potrebbe essere visualizzata una finestra di dialogo Errore certificato . In caso affermativo, verificare che il nome del server sia quello previsto. Se il nome del server è corretto, selezionare Salva questo certificato per le sessioni future di Visual Studio e fare clic su Accetta. Questo errore indica che il provider di hosting ha scelto di evitare la spesa per l'acquisto di un certificato SSL per l'URL a cui si sta distribuendo. Se si preferisce stabilire una connessione sicura usando un certificato valido, contattare il provider di hosting.

  6. Fare clic su Avanti.

    icona di connessione riuscita e pulsante Avanti nella scheda Connessione

  7. Nella scheda Impostazioni espandere Opzioni di pubblicazione file e quindi selezionare Escludi file dalla cartella App_Data.

    Per informazioni sulle altre opzioni in Opzioni di pubblicazione file, vedere l'esercitazione sulla distribuzione in IIS . Lo screenshot che mostra il risultato di questo passaggio e i passaggi di configurazione del database seguenti sono alla fine dei passaggi di configurazione del database.

  8. In DefaultConnection nella sezione Database configurare la distribuzione del database per il database di appartenenza.

    1. Selezionare Aggiorna database.

      La casella Stringa di connessione remota sotto DefaultConnection viene compilata con la stringa di connessione dal file .publishsettings. La stringa di connessione include SQL Server credenziali, archiviate in testo normale nel file pubxml. Se si preferisce non archiviarli definitivamente, è possibile rimuoverli dal profilo di pubblicazione dopo la distribuzione del database e archiviarli in Azure. Per altre informazioni, vedere How to keep your ASP.NET database connection strings secure when deploying to Azure from Source on Scott Hanselman's blog.For more information, see How to keep your ASP.NET database connection strings secure when deploying to Azure from Source on Scott Hanselman's blog. 2. Fare clic su Configura aggiornamenti del database. 3. Nella finestra di dialogo Configura database Aggiornamenti fare clic su Aggiungi script SQL. 4. Nella casella Aggiungi script SQL passare allo script aspnet-data-prod.sql salvato in precedenza nella cartella della soluzione e quindi fare clic su Apri. 5. Chiudere la finestra di dialogo Configura Aggiornamenti database.

  9. In SchoolContext nella sezione Database selezionare Esegui Migrazioni Code First (eseguita all'avvio dell'applicazione).

    Visual Studio visualizza Esegui Migrazioni Code First anziché Aggiorna database per DbContext le classi. Se si vuole usare il provider dbDacFx anziché le migrazioni per distribuire un database a cui si accede usando una DbContext classe, vedere Ricerca per categorie distribuire un database Code First senza migrazioni? nelle domande frequenti sulla distribuzione Web per Visual Studio e ASP.NET in MSDN.

    La scheda Impostazioni è ora simile all'esempio seguente:

    Scheda Impostazioni per la gestione temporanea

  10. Seguire questa procedura per salvare il profilo e rinominarlo in Staging:

    1. Fare clic sulla scheda Profilo e quindi su Gestisci profili.

    2. L'importazione ha creato due nuovi profili, uno per FTP e uno per La distribuzione Web. È stato configurato il profilo Distribuzione Web: rinominare questo profilo in Gestione temporanea.

      Rinominare il profilo in Gestione temporanea

    3. Chiudere la finestra di dialogo Modifica profili di pubblicazione Web .

    4. Chiudere la procedura guidata Pubblica Web .

Configurare una trasformazione del profilo di pubblicazione per l'indicatore dell'ambiente

Nota

Questa sezione illustra come configurare una trasformazione Web.config per l'indicatore di ambiente. Poiché l'indicatore si trova nell'elemento<appSettings>, è disponibile un'altra alternativa per specificare la trasformazione quando si esegue la distribuzione in Servizio app di Azure. Per altre informazioni, vedere Specifica delle impostazioni di Web.config in Azure.

  1. In Esplora soluzioni espandere Proprietà e quindi espandere PublishProfiles.

  2. Fare clic con il pulsante destro del mouse su Staging.pubxml e quindi scegliere Aggiungi trasformazione configurazione.

    Aggiungere La trasformazione di configurazione per la gestione temporanea

    Visual Studio crea il file di trasformazioneWeb.Staging.config e lo apre.

  3. Nel file di trasformazioneWeb.Staging.config inserire il codice seguente immediatamente dopo il tag di apertura configuration .

    <appSettings>
        <add key="Environment" value="Prod" xdt:Transform="SetAttributes" xdt:Locator="Match(key)"/>
    </appSettings>
    

    Quando si usa il profilo di pubblicazione staging, questa trasformazione imposta l'indicatore dell'ambiente su "Prod". Nell'app Web distribuita non verrà visualizzato alcun suffisso, ad esempio "(Dev)" o "(Test)" dopo l'intestazione "Contoso University" H1.

  4. Fare clic con il pulsante destro del mouse sul file Web.Staging.config e scegliere Trasformazione di anteprima per assicurarsi che la trasformazione codificata produchi le modifiche previste.

    La finestra di anteprimaWeb.config mostra il risultato dell'applicazione delle trasformazioni Web.Release.config e delle trasformazioniWeb.Staging.config.

Impedire l'uso pubblico dell'app di test

Una considerazione importante per l'app di staging è che sarà live su Internet, ma non si vuole che il pubblico lo usi. Per ridurre al minimo la probabilità che le persone trovino e lo useranno, è possibile usare uno o più dei metodi seguenti:

  • Impostare le regole del firewall che consentono l'accesso all'app di staging solo dagli indirizzi IP usati per testare la gestione temporanea.
  • Usare un URL offuscato che sarebbe impossibile indovinare.
  • Creare un file robots.txt per assicurarsi che i motori di ricerca non eseguiranno la ricerca per indicizzazione dell'app di test e segnalano i collegamenti a esso nei risultati della ricerca.

Il primo di questi metodi è il più efficace ma non è coperto in questa esercitazione perché richiede la distribuzione in un servizio cloud di Azure anziché Servizio app di Azure. Per altre informazioni sulle restrizioni Servizi cloud e IP in Azure, vedere Opzioni di hosting di calcolo fornite da Azure e bloccano indirizzi IP specifici dall'accesso a un ruolo Web. Se si esegue la distribuzione in un provider di hosting di terze parti, contattare il provider per scoprire come implementare restrizioni IP.

Per questa esercitazione si creerà un file dirobots.txt .

  1. In Esplora soluzioni fare clic con il pulsante destro del mouse sul progetto ContosoUniversity e scegliere Aggiungi nuovo elemento.

  2. Creare un nuovo file di testo denominato robots.txte inserire il testo seguente in esso:

    User-agent: *
    Disallow: /
    

    La User-agent riga indica ai motori di ricerca che le regole nel file si applicano a tutti i web crawler del motore di ricerca (robot) e la Disallow riga specifica che nessuna pagina nel sito deve essere sottoposta a ricerca per indicizzazione.

    Si vuole che i motori di ricerca catalogino l'app di produzione, quindi è necessario escludere questo file dalla distribuzione di produzione. A tale scopo, si configurerà un'impostazione nel profilo di pubblicazione produzione quando viene creata.

Eseguire la distribuzione per lo staging

  1. Aprire la pubblicazione guidata Web facendo clic con il pulsante destro del mouse sul progetto Contoso University e facendo clic su Pubblica.

  2. Assicurarsi che il profilo di gestione temporanea sia selezionato.

  3. Fare clic su Pubblica.

    Nella finestra Output vengono indicate le azioni di distribuzione effettuate e viene segnalato il corretto completamento della distribuzione. Il browser predefinito viene aperto automaticamente all'URL dell'app Web distribuita.

Test nell'ambiente di gestione temporanea

Si noti che l'indicatore di ambiente è assente (non esiste "(Test)" o "(Dev)" dopo l'intestazione H1, che mostra che la trasformazione Web.config per l'indicatore di ambiente è riuscita.

Gestione temporanea della home page

Eseguire la pagina Studenti per verificare che il database distribuito non abbia studenti.

Eseguire la pagina Instructors per verificare che Code First ha inizializzato il database con i dati dell'insegnante:

Selezionare Aggiungi studenti dal menu Studenti , aggiungere uno studente e quindi visualizzare il nuovo studente nella pagina Studenti per verificare che sia possibile scrivere correttamente nel database.

Nella pagina Corsi fare clic su Aggiorna crediti. La pagina Aggiorna crediti richiede autorizzazioni di amministratore, quindi viene visualizzata la pagina Accesso . Immettere le credenziali dell'account amministratore create in precedenza ("admin" e "prodpwd"). Viene visualizzata la pagina Aggiorna crediti , che verifica che l'account amministratore creato nell'esercitazione precedente sia stato distribuito correttamente nell'ambiente di test.

Richiedere un URL non valido per causare un errore che ELMAH tiene traccia e quindi richiedere il report di errore ELMAH. Se si esegue la distribuzione in un provider di hosting di terze parti, è probabile che il report sia vuoto per lo stesso motivo per cui è stato vuoto nell'esercitazione precedente. È necessario usare gli strumenti di gestione degli account del provider di hosting per configurare le autorizzazioni per le cartelle per consentire a ELMAH di scrivere nella cartella di log.

L'applicazione creata è ora in esecuzione nel cloud in un'app Web simile a quella usata per la produzione. Poiché tutto funziona correttamente, il passaggio successivo consiste nel distribuire nell'ambiente di produzione.

Distribuire nell'ambiente di produzione

Il processo per la creazione di un'app Web di produzione e la distribuzione in produzione è uguale a quello per la gestione temporanea, ad eccezione del fatto che è necessario escludere l' robots.txt dalla distribuzione. A tale scopo, verrà modificato il file di profilo di pubblicazione.

Creare l'ambiente di produzione e il profilo di pubblicazione di produzione

  1. Creare l'app Web di produzione e il database in Azure, seguendo la stessa procedura usata per la gestione temporanea.

    Quando si crea il database, è possibile scegliere di inserirlo nello stesso server creato in precedenza o creare un nuovo server.

  2. Scaricare il file .publishsettings .

  3. Creare il profilo di pubblicazione importando il file con estensione publishsettings di produzione, seguendo la stessa procedura usata per la gestione temporanea.

    Non dimenticare di configurare lo script di distribuzione dei dati in DefaultConnection nella sezione Database della scheda Impostazioni .

  4. Rinominare il profilo di pubblicazione in Produzione.

  5. Configurare una trasformazione del profilo di pubblicazione per l'indicatore di ambiente, seguendo la stessa procedura usata per la gestione temporanea.

Modificare il file pubxml per escludere robots.txt

I file di profilo di pubblicazione sono denominati <profilename.pubxml> e si trovano nella cartella PublishProfiles. La cartella PublishProfiles si trova nella cartella Proprietà in un progetto applicazione Web C#, nella cartella Progetto personale in un progetto applicazione Web VB o nella cartella App_Data in un progetto di app Web Web. Ogni file pubxml contiene le impostazioni che si applicano a un profilo di pubblicazione. I valori immessi nella Pubblicazione guidata Web vengono archiviati in questi file e è possibile modificarli per creare o modificare le impostazioni non rese disponibili nell'interfaccia utente di Visual Studio.

Per impostazione predefinita, i file pubxml vengono inclusi nel progetto quando si crea un profilo di pubblicazione, ma è possibile escluderli dal progetto e Visual Studio li userà comunque. Visual Studio cerca nella cartella PublishProfiles per i file con estensione pubxml , indipendentemente dal fatto che siano inclusi nel progetto.

Per ogni file pubxml è presente un file .pubxml.user . Il file .pubxml.user contiene la password crittografata se è stata selezionata l'opzione Salva password e per impostazione predefinita viene esclusa dal progetto.

Un file pubxml contiene le impostazioni relative a un profilo di pubblicazione specifico. Se si desidera configurare le impostazioni che si applicano a tutti i profili, è possibile creare un file con estensione wpp.targets . Il processo di compilazione importa questi file nel file di progetto con estensione csproj o vbproj , in modo che la maggior parte delle impostazioni che è possibile configurare nel file di progetto può essere configurata in questi file. Per altre informazioni sui file con estensione pubxml e sui file con estensione wpp.targets , vedere Procedura: Modificare le impostazioni di distribuzione nei file Pubblica profilo (pubxml) e file con estensione wpp.targets in Progetti Web di Visual Studio.

  1. In Esplora soluzioni espandere Proprietà e espandere PublishProfiles.

  2. Fare clic con il pulsante destro del mouse su Production.pubxml e scegliere Apri.

    Aprire il file pubxml

  3. Fare clic con il pulsante destro del mouse su Production.pubxml e scegliere Apri.

  4. Aggiungere le righe seguenti immediatamente prima dell'elemento di chiusura PropertyGroup :

    <ExcludeFilesFromDeployment>
        robots.txt
    </ExcludeFilesFromDeployment>
    

    Il file pubxml è ora simile all'esempio seguente:

    <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
      <PropertyGroup>
        <WebPublishMethod>MSDeploy</WebPublishMethod>
        <LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
        <LastUsedPlatform>Any CPU</LastUsedPlatform>
        <SiteUrlToLaunchAfterPublish>http://contosou-staging.azurewebsites.net</SiteUrlToLaunchAfterPublish>
        <ExcludeApp_Data>True</ExcludeApp_Data>
        <MSDeployServiceURL>waws-prod-bay-001.publish.azurewebsites.windows.net:443</MSDeployServiceURL>
        <DeployIisAppPath>contosou-staging</DeployIisAppPath>
        <RemoteSitePhysicalPath />
        <SkipExtraFilesOnServer>True</SkipExtraFilesOnServer>
        <MSDeployPublishMethod>WMSVC</MSDeployPublishMethod>
        <UserName>[username]</UserName>
        <_SavePWD>True</_SavePWD>
        <PublishDatabaseSettings>
          <!-- database settings removed -->
        </PublishDatabaseSettings>
        <ExcludeFilesFromDeployment>
            robots.txt
        </ExcludeFilesFromDeployment>
      </PropertyGroup>
      <ItemGroup>
        <MSDeployParameterValue Include="$(DeployParameterPrefix)DefaultConnection-Web.config Connection String">
          <ParameterValue>Data Source=tcp:sk0264hvc9.database.windows.net,1433;Initial Catalog=ContosoUniversity-staging;User Id=CU-staging-admin@sk0264hvc9;Password=</ParameterValue>
        </MSDeployParameterValue>
        <MSDeployParameterValue Include="$(DeployParameterPrefix)SchoolContext-Web.config Connection String">
          <ParameterValue>Data Source=tcp:sk0264hvc9.database.windows.net,1433;Initial Catalog=ContosoUniversity-staging;User Id=CU-staging-admin@sk0264hvc9;Password=</ParameterValue>
        </MSDeployParameterValue>
      </ItemGroup>
    </Project>
    

    Per altre informazioni su come escludere file e cartelle, vedere È possibile escludere file o cartelle specifici dalla distribuzione? nelle domande frequenti sulla distribuzione Web per Visual Studio e ASP.NET in MSDN.

Distribuire nell'ambiente di produzione

  1. Aprire la Procedura guidata Pubblica Web assicurarsi che il profilo di pubblicazione di produzione sia selezionato e quindi fare clic su Avvia anteprima nella scheda Anteprima per verificare che il file robots.txt non venga copiato nell'app di produzione.

    Anteprima dei file da pubblicare in produzione

    Esaminare l'elenco dei file copiati. Si noterà che tutti i file con estensione cs, inclusi .aspx.cs, .aspx.designer.cs, Master.cs e Master.designer.cs vengono omessi. Tutto questo codice è stato compilato nei file ContosoUniversity.dll e ContosoUniversity.pdb disponibili nella cartella bin . Poiché solo la .dll è necessaria per eseguire l'applicazione e è stato specificato in precedenza che solo i file necessari per eseguire l'applicazione devono essere distribuiti, non sono stati copiati file con estensione cs nell'ambiente di destinazione. La cartella obj e i file ContosoUniversity.csproj e .csproj.user vengono omessi per lo stesso motivo.

    Fare clic su Pubblica per distribuire nell'ambiente di produzione.

  2. Testare in produzione, seguendo la stessa procedura usata per la gestione temporanea.

    Tutto è identico alla gestione temporanea, ad eccezione dell'URL e dell'assenza del file dirobots.txt .

Riepilogo

L'app Web è stata ora distribuita e testata correttamente ed è disponibile pubblicamente su Internet.

Produzione home page

Nell'esercitazione successiva si aggiornerà il codice dell'applicazione e si distribuirà la modifica agli ambienti di test, staging e produzione.

Nota

Anche se l'applicazione è in uso nell'ambiente di produzione, è consigliabile implementare un piano di ripristino. È quindi consigliabile eseguire periodicamente il backup dei database dall'app di produzione a un percorso di archiviazione sicuro e mantenere diverse generazioni di tali backup. Quando si aggiorna il database, è necessario eseguire una copia di backup da immediatamente prima della modifica. Se si fa un errore e non lo si individua fino a quando non è stato distribuito in produzione, sarà comunque possibile ripristinare il database allo stato in cui è stato danneggiato. Per altre informazioni, vedere Azure SQL Backup e ripristino del database.

Nota

In questa esercitazione l'edizione SQL Server distribuita in è Azure SQL Database. Anche se il processo di distribuzione è simile ad altre edizioni di SQL Server, un'applicazione di produzione reale potrebbe richiedere codice speciale per Azure SQL Database in alcuni scenari. Per altre informazioni, vedere Uso di database Azure SQLe scelta tra SQL Server e database Azure SQL.