Condividi tramite


Procedura dettagliata: distribuzione di un progetto di applicazione Web utilizzando un pacchetto di distribuzione Web (parte 1 di 4)

Questa è la prima di una serie di procedure dettagliate in cui viene illustrato come distribuire un progetto di applicazione Web utilizzando un pacchetto di distribuzione Web. In questa serie verrà creato un progetto di applicazione Web del file system. Innanzitutto il progetto verrà distribuito nel computer locale per i test IIS locali, quindi verrà distribuito in un server di gestione temporanea. Il pacchetto di distribuzione utilizzato per la distribuzione nel server di gestione temporanea sarà configurato in modo da poter essere utilizzato anche per la distribuzione in un server di produzione.

Nella serie di procedure dettagliate vengono illustrate le attività seguenti:

  • Creazione di un pacchetto per la configurazione di compilazione di debug.

  • Creazione di un pacchetto per la configurazione di compilazione di rilascio.

  • Trasformazione delle impostazioni del file Web.config per l'ambiente di destinazione.

  • Inclusione di script SQL personalizzati durante la distribuzione.

  • Ridistribuzione di un database già distribuito.

  • Esclusione dalla distribuzione di un database già distribuito.

  • Distribuzione di più database di sviluppo in un solo database di destinazione.

  • Distribuzione del database delle appartenenze ASP.NET predefinito con e senza le informazioni sull'account create nel computer locale.

  • Utilizzo di parametri di distribuzione personalizzati per valori di configurazione che si desidera poter modificare all'installazione del pacchetto.

  • Installazione di un pacchetto nel computer locale utilizzando Gestione IIS.

  • Installazione di un pacchetto in un computer remoto utilizzando il file deploy.cmd.

In questa procedura dettagliata vengono illustrate le attività seguenti:

  • Creazione di un pacchetto per la configurazione di compilazione di debug.

  • Trasformazione delle impostazioni del file Web.config per l'ambiente di destinazione.

  • Distribuzione di più database di sviluppo in un solo database di destinazione.

  • Inclusione di script SQL personalizzati durante la distribuzione.

  • Distribuzione del database delle appartenenze ASP.NET predefinito utilizzando le informazioni sull'account create nel computer locale.

  • Installazione di un pacchetto nel computer locale utilizzando Gestione IIS.

Prerequisiti

Per completare la serie di procedure dettagliate, è necessario disporre di quanto segue:

  • Visual Studio o Visual Web Developer Express.

    Nota

    Se si utilizza Visual Studio, nella procedura dettagliata si presuppone che sia stato selezionato l'insieme di impostazioni Sviluppo Web al primo avvio di Visual Studio.Per ulteriori informazioni, vedere Procedura: selezionare le impostazioni dell'ambiente di sviluppo Web.

  • SQL Server Express 2008 o versione successiva. Per impostazione predefinita, viene installato con Visual Studio.

  • Versione del file con estensione mdf del database AdventureWorksLT. È possibile scaricare questo file, denominato SQL2008.AdventureWorksLT2008_Only_Database.zip, dalla pagina contenente esempi di prodotti di database per Microsoft SQL Server sul sito Web CodePlex.

  • IIS 7 abilitato nel computer locale.

  • ASP.NET 4 registrato con IIS 7 nel computer locale e un pool di applicazioni ASP.NET 4 assegnato al sito Web predefinito. Per ulteriori informazioni, vedere Strumento di ASP.NET per la registrazione di IIS (Aspnet_regiis.exe).

  • Diritti amministrativi nel computer locale.

Inoltre, per completare l'installazione del pacchetto di distribuzione per la quarta procedura dettagliata, è necessario disporre di quanto segue:

  • Un secondo computer in cui sia possibile effettuare la distribuzione. È inoltre necessario che nel secondo computer sia abilitato IIS 7, ASP.NET 4 sia registrato con IIS 7 e un pool di applicazioni ASP.NET 4 sia assegnato al sito Web predefinito. Per impostare questo computer è necessario disporre di diritti amministrativi per esso. Se l'impostazione viene effettuata da altri, potrebbero essere necessari diritti amministrativi per il computer, a seconda del metodo di distribuzione utilizzato. Per ulteriori informazioni, vedere Procedura dettagliata: distribuzione di un progetto di applicazione Web utilizzando un pacchetto di distribuzione Web (parte 4 di 4), la procedura dettagliata che richiede il secondo computer.

Creazione di un progetto Web da distribuire

Nella procedura riportata di seguito si creerà un progetto di applicazione Web da distribuire utilizzando il modello di progetto Applicazione Web ASP.NET di Visual Studio. Si creerà il database delle appartenenze ASP.NET predefinito e si aggiungeranno il database AdventureWorksLT e i controlli per visualizzare dati da tale database.

Per creare un progetto Web da distribuire

  1. In Visual Studio scegliere Nuovo progetto dal menu File.

    Nota

    Assicurarsi di selezionare Nuovo progetto e non Nuovo sito Web.Il pacchetto di distribuzione funziona solo con i progetti di applicazione Web.

    Verrà visualizzata la finestra di dialogo Nuovo progetto.

  2. Nella finestra Modelli installati espandere Visual Basic o C#, quindi selezionare Web.

  3. Selezionare il modello Applicazione Web ASP.NET.

    La finestra di dialogo Nuovo progetto sarà simile alla figura seguente:

    Finestra di dialogo Nuovo progetto con valori predefiniti

  4. Immettere AdventureWorks nella casella Nome.

  5. Scegliere OK.

    In Visual Studio verrà creata l'applicazione Web. La cartella App_Data viene creata per contenere i database per l'applicazione, ma non è ancora presente alcun database al suo interno.

  6. In Esplora soluzioni espandere la cartella Account, fare clic con il pulsante destro del mouse sul file Register.aspx, quindi fare clic su Visualizza nel browser.

    Verrà visualizzata la pagina Crea nuovo account, come illustrato nella figura seguente:

    Pagina Crea nuovo account

  7. Immettere newuser per Nome utente e Password, immettere un indirizzo di posta elettronica, quindi fare clic su Crea utente.

    Nella cartella App_Data viene creato un file di database di SQL Server denominato ASPNETDB.MDF in cui vengono immesse le credenziali fornite. Per visualizzare il file con estensione mdf in Esplora soluzioni, fare clic sul pulsante Mostra tutti i file sulla barra degli strumenti di Esplora soluzioni.

  8. Estrarre il contenuto del file SQL2008.AdventureWorksLT2008_Only_Database.zip nella cartella App_Data del progetto. Per informazioni sul database di esempio, vedere la sezione Prerequisiti più indietro in questo argomento.

  9. Aprire il file Web.config.

  10. Aggiungere una stringa di connessione per il database AdventureWorksLT nell'elemento connectionStrings, come illustrato nell'esempio seguente:

    <connectionStrings>
      <add name="ApplicationServices"
          connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnetdb.mdf;User Instance=true"
          providerName="System.Data.SqlClient" />
      <add name="AWLTConnectionString" 
          connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\AdventureWorksLT2008_Data.mdf;User Instance=true"
          providerName="System.Data.SqlClient" />
    </connectionStrings>
    
  11. Salvare e chiudere il file Web.config.

  12. Aprire il file Default.aspx.

    Il file verrà aperto nella visualizzazione Origine.

  13. Eliminare gli elementi h2 e p, quindi sostituirli con il markup seguente:

    <h2>
      Welcome to AdventureWorks!
    </h2>
    <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
        ConnectionString="<%$ ConnectionStrings:AWLTConnectionString %>" 
        SelectCommand="SELECT SalesLT.Product.* FROM SalesLT.Product">
    </asp:SqlDataSource>
    <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
        DataKeyNames="ProductID" DataSourceID="SqlDataSource1">
        <Columns>
            <asp:BoundField DataField="Name" HeaderText="Name" 
                SortExpression="Name" />
            <asp:BoundField DataField="Color" HeaderText="Color" 
                SortExpression="Color" />
            <asp:BoundField DataField="ListPrice" HeaderText="ListPrice" 
                SortExpression="ListPrice" />
            <asp:BoundField DataField="Size" HeaderText="Size" 
                SortExpression="Size" />
            <asp:BoundField DataField="Weight" HeaderText="Weight" 
                SortExpression="Weight" />
        </Columns>
    </asp:GridView>
    

    Con questo markup il titolo dell'applicazione viene impostato su Adventure Works e viene aggiunto un controllo GridView che consente di visualizzare i dati di una tabella di AdventureWorksLT. Questo controllo consentirà di verificare la corretta distribuzione dei dati di AdventureWorks LT.

  14. Salvare e chiudere il file Default.aspx.

  15. È possibile modificare l'intestazione nella pagina master attenendosi alla procedura seguente:

    1. Aprire il file Site.master.

    2. Eliminare il testo Applicazione ASP.NET personale e sostituirlo con Adventure Works.

    3. Salvare e chiudere il file.

  16. Eseguire il test del sito effettuando le operazioni seguenti:

    1. Premere CTRL-F5 per eseguire il test dell'applicazione.

      La pagina Default.aspx verrà visualizzata nel browser. Nella pagina è visualizzato un elenco dei prodotti di Adventure Works, come illustrato nella figura seguente:

      Pagina predefinita dell'applicazione Web Adventure Works

    2. Fare clic sul collegamento ipertestuale Accedi.

      Verrà visualizzata la pagina Accedi.

    3. Immettere newuser per Nome utente e Password, quindi fare clic su Accedi.

      Verrà aperta la pagina Default.aspx in cui sarà presente la frase Pagina iniziale - newuser nell'angolo superiore destro, come illustrato nella figura seguente:

      Pagina predefinita di Adventure Works dopo l'accesso

    4. Chiudere il browser.

Creazione di un database di destinazione

Il progetto Web dispone attualmente di due database. Si distribuirà il contenuto di entrambi i database in un solo database. In un ambiente di produzione può essere più conveniente in termini di costi gestire un solo database anziché due.

Nella procedura riportata di seguito verrà creato il database di destinazione vuoto in cui effettuare la distribuzione.

Per creare un database di destinazione

  1. In Esplora server fare clic con il pulsante destro del mouse su Connessioni dati, quindi fare clic su Crea nuovo database di SQL Server.

    Verrà visualizzata la finestra di dialogo Crea nuovo database di SQL Server.

  2. Nella casella Nome server immettere localhost\SQLExpress.

  3. Nella casella Nome nuovo database immettere AdventureWorksTest.

    Dopo avere immesso il nome del database, la finestra di dialogo Creare nuovo database di SQL Server sarà simile alla figura seguente:

    Finestra di dialogo Crea database

  4. Scegliere OK.

    Il nuovo database verrà creato e visualizzato nella cartella Connessioni dati della finestra Esplora server come illustrato nella figura seguente:

    Nuovo database visualizzato in Esplora server

Creazione di uno script di concessione per il database di destinazione

Quando l'applicazione Web viene distribuita in IIS, viene assegnata al pool di applicazioni ASP.NET 4 predefinito e l'accesso al database avviene utilizzando le credenziali del pool di applicazioni. Pertanto, è necessario creare anche uno script per concedere autorizzazione di lettura a tali credenziali.

Nella procedura riportata di seguito si creerà uno script che verrà eseguito per concedere l'autorizzazione di lettura del database alle credenziali del pool di applicazioni.

Per creare uno script per la concessione dell'autorizzazione di lettura al pool di applicazioni

  1. Aprire un editor di testo, ad esempio Blocco note.

  2. Creare un nuovo file di testo in cui inserire le istruzioni Transact-SQL seguenti:

    CREATE LOGIN [IIS APPPOOL\ASP.NET v4.0] 
      FROM WINDOWS WITH DEFAULT_DATABASE=[master], 
      DEFAULT_LANGUAGE=[us_english]
    GO
    CREATE USER [AdventureWorksUser] 
      FOR LOGIN [IIS APPPOOL\ASP.NET v4.0]
    GO
    EXEC sp_addrolemember 'db_datareader', 'AdventureWorksUser'
    GO
    

    Nota

    Questo script è progettato per funzionare con le impostazioni di sicurezza predefinite in Windows 7 e Windows Server 2008 R2.Se si utilizza una versione precedente di Windows o il computer dispone di impostazioni di sicurezza personalizzate, questo script potrebbe non rendere disponibile il database alle credenziali utilizzate dal sito Web quando viene eseguito in IIS.Per ulteriori informazioni sulla sicurezza di SQL Server, vedere la documentazione online di SQL Server.

  3. Assegnare un nome al file AdventureWorksGrant.sql e salvarlo in una cartella del computer, ad esempio C:\Temp.

    È possibile salvare lo script in una cartella qualsiasi. Prendere nota del percorso, perché più avanti in questa procedura dettagliata sarà necessario accedere allo script.

Impostazione della configurazione di compilazione attiva

Per impostazione predefinita, la configurazione di compilazione attiva per i nuovi progetti è Debug. Questa configurazione di compilazione verrà utilizzata per la distribuzione iniziale a IIS nel computer locale. Nella procedura riportata di seguito si verificherà che venga selezionata la configurazione di compilazione corretta.

Per impostare la configurazione di compilazione attiva

  1. Scegliere Gestione configurazione dal menu Compila.

    Verrà visualizzata la finestra di dialogo Gestione configurazione.

  2. Nell'elenco Configurazione soluzione attiva verificare che sia selezionata l'opzione Debug.

    L'elenco Configurazione soluzione attiva viene in genere visualizzato anche sulla barra degli strumenti Standard. In tal caso, è possibile verificare o modificare la configurazione di compilazione senza aprire Gestione configurazione.

  3. Chiudere Gestione configurazione.

Specifica delle impostazioni del pacchetto di distribuzione

Nella procedura riportata di seguito si specificherà quali file e quali impostazioni di IIS distribuire e come creare il pacchetto.

Per specificare le impostazioni del pacchetto di distribuzione

  1. In Esplora soluzioni fare clic con il pulsante destro del mouse sul progetto, quindi scegliere Proprietà.

    Verrà visualizzata la pagina Proprietà.

  2. Selezionare la scheda Pubblicazione/creazione pacchetto Web.

    Verrà visualizzata la scheda Pubblicazione/creazione pacchetto Web, come illustrato nella figura seguente:

    Scheda Pubblicazione/creazione pacchetto Web

    Nell'elenco Configurazione verificare che sia selezionata l'opzione Attiva (Debug). Per impostazione predefinita, viene selezionata la configurazione di compilazione attiva. Nella procedura precedente la configurazione di compilazione attiva è stata impostata su Debug.

  3. Nell'elenco a discesa Elementi da distribuire (si applica a tutti i metodi di distribuzione) verificare che la casella di controllo Solo file necessari per eseguire l'applicazione sia selezionata.

  4. Verificare che la casella di controllo Escludi simboli di debug generati sia deselezionata.

    Per questa parte della procedura dettagliata, si configura la distribuzione in un computer per il test. È pertanto necessario poter eseguire il debug.

    Nota

    La possibilità di eseguire un sito distribuito in modalità debug dipende da questa opzione e da un'impostazione del file Web.config.Non dipende dal nome della configurazione di compilazione.

  5. Selezionare la casella di controllo Escludi file dalla cartella App_Data.

    Nel progetto vengono utilizzati i file con estensione mdf di SQL Server Express nelle cartelle App_Data, ma il progetto verrà distribuito eseguendo script in un database di destinazione vuoto. Pertanto, non verranno distribuiti i file con estensione mdf.

  6. Verificare che la casella di controllo Includi tutti i database configurati nella scheda Pubblicazione/creazione pacchetto SQL sia selezionata. La scheda Pubblicazione/creazione pacchetto SQL verrà configurata nella procedura riportata di seguito.

  7. Verificare che la casella di controllo Crea pacchetto di distribuzione come file ZIP sia selezionata.

    Gli strumenti di distribuzione funzionano con pacchetti creati come file con estensione zip. Se questa casella di controllo è deselezionata, il pacchetto verrà creato come file in una struttura di cartelle. Questa operazione viene in genere eseguita per creare una copia di archivio del sito distribuito.

  8. Verificare che la casella Percorso in cui creare il pacchetto contenga il valore seguente (il valore predefinito se è stato specificato AdventureWorks come nome del progetto):

    obj\Debug\Package\AdventureWorks.zip

  9. Nella casella Nome applicazione/sito Web IIS da utilizzare nel server di destinazione immettere Sito Web predefinito/AdventureWorks.

  10. Salvare le modifiche apportate alla scheda Pubblicazione/creazione pacchetto Web.

Specifica di impostazioni di distribuzione del database

Nella procedura riportata di seguito si specificheranno i database da distribuire e la modalità di distribuzione. Si specificherà inoltre di eseguire lo script AdventureWorksGrant.sql creato in una procedura precedente durante la distribuzione.

Per specificare gli script SQL Server da eseguire durante la distribuzione

  1. Fare clic sulla scheda Pubblicazione/creazione pacchetto SQL.

    Verrà visualizzata la scheda Pubblicazione/creazione pacchetto SQL, come illustrato nella figura seguente:

    Scheda Pubblicazione/creazione pacchetto SQL

  2. Fare clic su Importa da Web.config.

    Per trovare le stringhe di connessione, in Visual Studio viene letto il file Web.config. Per ogni stringa di connessione presente nel file Web.config, in Visual Studio viene creata una riga nella griglia Voci di database. Per impostazione predefinita, il nome nella griglia Voci di database è quello della stringa di connessione con un suffisso -Deployment.

    Per questa procedura dettagliata, vengono create due righe. Una è denominata ApplicationServices-Deployment, l'altra AWLTConnectionString-Deployment, come illustrato nella figura seguente:

    Scheda Pubblicazione/creazione pacchetto SQL, griglia del database

  3. Verificare che la riga ApplicationServices-Deployment nella tabella Voci di database sia selezionata.

    I campi sotto la griglia Voci di database si applicano alla riga selezionata nella griglia Voci di database. Se non viene selezionata alcuna riga, i campi sotto la tabella sono disabilitati.

  4. Nella casella Stringa di connessione per il database di destinazione immettere la stringa di connessione per il database AdventureWorksTest creato in una procedura precedente. A tale scopo attenersi alla procedura seguente:

    1. Nella finestra Esplora server espandere la cartella Connessioni dati e selezionare il database AdventureWorksTest.

    2. Nella finestra Proprietà selezionare e copiare il valore della proprietà Stringa di connessione. La finestra Proprietà sarà simile alla figura seguente:

      Finestra Proprietà con stringa di connessione

    3. Incollare la stringa di connessione nella casella Stringa di connessione per il database di destinazione.

  5. Verificare che la casella di controllo Estrai dati e/o schema da un database esistente sia selezionata.

    Quando si fa clic sul pulsante Importa da Web.config, questa opzione viene selezionata automaticamente. Anche la casella Stringa di connessione per il database di origine viene completata automaticamente mediante la stringa di connessione del file Web.config.

  6. Impostare l'elenco Opzioni di script del database su Schema e dati.

    Dopo la distribuzione, il database di destinazione includerà le credenziali dell'account utente create alla creazione del progetto.

  7. Nella tabella Voci di database selezionare la riga AWLTConnectionString-Deployment.

    Nei campi sotto la griglia vengono visualizzati i valori predefiniti.

  8. Nella casella Stringa di connessione per il database di destinazione immettere la stessa stringa di connessione di destinazione immessa par il database ApplicationServices.

    Verrà utilizzata la stessa stringa di connessione di destinazione per entrambi i database. Durante la distribuzione, pertanto, gli script per creare e popolare tutti gli oggetti di database verranno eseguiti tutti nello stesso database. Il database di destinazione conterrà di conseguenza tutte le tabelle e gli altri oggetti di database da entrambi i database del progetto.

  9. Verificare che la casella di controllo Estrai dati e/o schema da un database esistente sia selezionata.

  10. Impostare l'elenco Opzioni di script del database su Schema e dati.

  11. Fare clic su Aggiungi script.

  12. Nella finestra di dialogo Seleziona file andare a C:\Temp\AdventureWorksGrant.sql, quindi fare clic su Apri. Se lo script è stato salvato in un'altra cartella in un passaggio precedente di questa procedura dettagliata, utilizzare il nome di tale cartella.

    Il file AdventureWorksGrant.sql verrà aggiunto alla griglia Script del database come illustrato nella figura seguente:

    Scheda Pubblicazione/creazione pacchetto SQL, griglia Script del database

  13. Salvare le modifiche apportate alla scheda Pubblicazione/creazione pacchetto SQL.

Specifica della modalità transazionale per lo script personalizzato

Per impostazione predefinita, gli script generati automaticamente vengono eseguiti in una transazione. Ciò non accade agli script personalizzati. La combinazione delle modalità di transazione può causare un errore di timeout quando gli script vengono eseguiti durante la distribuzione.

Nella procedura riportata di seguito si modificherà il file di progetto per configurare lo script personalizzato aggiunto nella procedura precedente per l'esecuzione in una transazione.

Per specificare l'esecuzione dello script personalizzato in una transazione

  1. Aprire il file AdventureWorks.csproj o AdventureWorks.vbproj che utilizza un editor di testo, ad esempio Blocco note.

    Per sfogliare la directory del progetto, fare clic con il pulsante destro del mouse sul progetto in Esplora soluzioni, quindi scegliere Apri cartella in Esplora risorse.

  2. Trovare l'elemento PropertyGroup relativo alla configurazione di compilazione di debug.

    Il tag di apertura dell'elemento è simile all'esempio seguente:

    <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">

  3. Nell'elemento PropertyGroup trovare l'elemento PublishDatabaseSettings.

  4. Nell'elemento PublishDatabaseSettings trovare l'elemento ObjectGroup denominato AWLTConnectionString-Deployment.

    Il secondo elemento Object nell'elemento ObjectGroup è per lo script AdventureWorksGrant.sql.

  5. Nell'elemento Object per lo script AdventureWorksGrant.sql impostare il valore dell'attributo Transacted dell'elemento Source su True.

    L'elemento ObjectGroup di AWLTConnectionString-Deployment è ora simile all'esempio seguente:

    <ObjectGroup Name="AWLTConnectionString-Deployment" Order="2">
      <Destination Path="..." />
      <Object Type="dbFullSql" Enabled="True">
        <PreSource Path="..." ScriptSchema="True" ScriptData="True"
          CopyAllFullTextCatalogs="False" ScriptDropsFirst="True" />
        <Source Path="..." Transacted="True" />
      </Object>
      <Object Type="dbFullSql" Enabled="False">
        <Source Path="...\AdventureWorksGrant.sql" Transacted="True" />
      </Object>
    </ObjectGroup>
    
  6. Salvare le modifiche e chiudere il file di progetto.

  7. Quando in Visual Studio viene chiesto se si desidera ricaricare il progetto, fare clic sul pulsante Ricarica.

Modifica della stringa di connessione nel file Web.config distribuito.

Nella procedura riportata di seguito si creerà un file di trasformazione che comporta l'impostazione delle stringhe di connessione di database nel file Web.config distribuito sul valore corretto per l'ambiente di destinazione.

Per modificare la stringa di connessione nel file Web.config distribuito

  1. In Esplora soluzioni espandere il file Web.config.

  2. Se non è presente un file denominato Web.Debug.config, fare clic con il pulsante destro del mouse sul file Web.config, quindi scegliere Aggiungi trasformazioni di configurazione.

  3. Aprire il file Web.Debug.config.

  4. Eliminare il blocco di commenti che contiene un elemento connectionStrings e sostituirlo con il markup seguente. Sostituire [stringa connessione] con il valore immesso nella casella Stringa di connessione per il database di destinazione.

    <connectionStrings>
      <add name="ApplicationServices"
           connectionString="[connection string]"
           providerName="System.Data.SqlClient" 
           xdt:Transform="SetAttributes" xdt:Locator="Match(name)" />
      <add name="AWLTConnectionString"
           connectionString="[connection string]"
           providerName="System.Data.SqlClient" 
           xdt:Transform="SetAttributes" xdt:Locator="Match(name)" />
      </connectionStrings>
    
  5. Salvare e chiudere il file Web.Debug.config.

Distribuzione dell'applicazione Web

Nel passaggio successivo si distribuirà il progetto mediante la creazione di un pacchetto. È quindi possibile importare il pacchetto in IIS tramite Gestione IIS.

Per creare un pacchetto e importarlo in IIS

  1. Scegliere Genera pacchetto di distribuzione dal menu Progetto.

    In Visual Studio verrà compilato il progetto, verrà creato il pacchetto di distribuzione e verrà visualizzato un log nella finestra Output. Come parte del processo di creazione del pacchetto, il provider dbFullSQL di Distribuzione Web crea due script SQL Server, uno per ogni database di origine. È disponibile un solo database di destinazione ed entrambi gli script verranno eseguiti in tale database all'importazione del pacchetto. Nell'esempio riportato di seguito vengono illustrate alcune sezioni del contenuto della finestra Output.

    ------ Inizio compilazione: Progetto: AdventureWorks, Configurazione: debug di qualsiasi CPU ------

    ...

    ------ Pubblicazione avviata: Progetto: AdventureWorks, Configurazione: debug di qualsiasi CPU ------

    Web.config trasformato utilizzando Web.Debug.config in

    obj\Debug\TransformWebConfig\transformed\Web.config.

    ...

    Copia di tutti i file nel percorso temporaneo seguente per pacchetto/pubblicazione:

    obj\Debug\Package\PackageTmp.

    Aggiunta di MSDeploy.dbFullSql (MSDeploy.dbFullSql).

    ...

    Aggiunta di sqlScript figlio (MSDeploy.dbFullSql/

    dbFullSql[@path='c:\users\username\documents\visual studio 2010\

    Projects\AdventureWorks\AdventureWorksCS\obj\Debug\AutoScripts\

    ApplicationServices-Deployment_SchemaAndData.sql]/sqlScript).

    ...

    Aggiunta del parametro dichiarato 'Nome applicazione Web IIS'.

    Aggiunta del parametro dichiarato 'Stringa di connessione di ApplicationServices-Deployment'.

    Aggiunta del parametro dichiarato 'Stringa di connessione di AWLTConnectionString-Deployment'.

    Il pacchetto "AdventureWorks.zip" verrà creato come singolo file

    nel percorso seguente:

    file:///c:/users/username/documents/visual%20studio%202010/

    Projects/AdventureWorks/AdventureWorksCS/obj/Debug/Package

    ...

    ========== Compilazione: 1 completate o aggiornate, 0 non riuscite, 0 ignorate ==========

    ========== Pubblicazione: 1 completate, 0 non riuscite, 0 ignorate ==========

  2. Copiare il percorso del pacchetto di distribuzione negli Appunti di Windows attenendosi alla procedura seguente:

    1. Se la cartella obj non è presente in Esplora soluzioni, fare clic sul pulsante Mostra tutti i file sulla barra degli strumenti di Esplora soluzioni.

    2. Espandere la cartella obj, la cartella Debug, quindi la cartella Package.

    3. Selezionare il file AdventureWorks.zip.

    4. Nella finestra Proprietà selezionare e copiare il valore del campo Percorso completo.

  3. Nel Pannello di controllo di Windows fare clic su Strumenti di amministrazione, quindi su Gestione Internet Information Services (IIS).

    Verrà aperta la finestra di Gestione IIS e il computer sarà selezionato nel pannello Connessioni.

  4. Nel pannello Connessioni espandere il nodo per il computer, espandere la cartella Siti, quindi selezionare Sito Web predefinito.

    L'aspetto di Gestione IIS sarà simile alla figura seguente:

    Gestione IIS

  5. Fare clic su Importa applicazione nel pannello Azioni.

    Nota

    Questo collegamento è di solito presente se è installato Distribuzione Web, che viene installato per impostazione predefinita durante l'installazione di Visual Studio.Se il collegamento non è presente, aprire Programmi e funzionalità nel Pannello di controllo, fare clic con il pulsante destro del mouse su Strumento di distribuzione Web, quindi fare clic su Ripristina.

    Verrà aperta la procedura guidata Importa pacchetto di applicazioni con la finestra di dialogo Seleziona pacchetto visualizzata.

  6. Nella casella Percorso pacchetto incollare il percorso copiato in un passaggio precedente.

    La finestra di dialogo Seleziona pacchetto sarà simile alla figura seguente:

    Selezione della finestra di dialogo Pacchetto

  7. Scegliere Avanti.

    Verrà visualizzata la finestra di dialogo Seleziona contenuto del pacchetto, come illustrato nella figura seguente.

    Selezione del contenuto della finestra di dialogo Pacchetto

  8. Scegliere Avanti.

    Verrà visualizzata la finestra di dialogo Immetti informazioni sul pacchetto di applicazioni come illustrato nella figura seguente:

    Finestra di dialogo Immetti informazioni sul pacchetto di applicazioni

    I valori predefiniti per il percorso dell'applicazione e le stringhe di connessione sono quelli impostati nella scheda Pubblicazione/creazione pacchetto Web.

  9. Scegliere Avanti.

  10. Se viene visualizzata una finestra di dialogo in cui viene chiesto di verificare che ASP.NET 4 sia installato nel computer (come illustrato nella figura seguente), assegnare un pool di applicazioni ASP.NET 4 al sito Web predefinito.

    ASP.NET 4 non è registrato in IIS

    A tale scopo, attenersi alla procedura seguente:

    1. Nella finestra di dialogo Immetti informazioni sul pacchetto di applicazioni fare clic su Annulla.

    2. Nel menu Start di Windows fare clic con il pulsante destro del mouse su Prompt dei comandi, quindi scegliere Esegui come amministratore.

    3. Passare alla cartella appropriata per .NET Framework 4, ad esempio:

      C:\Windows\Microsoft.NET\Framework\v4.0.30319

      Se la cartella di Windows nel computer si trova in un'unità diversa, sostituire C con la lettera dell'unità appropriata. Per un sistema operativo a 64 bit, utilizzare Framework64 anziché Framework.

    4. Immettere il comando aspnet_regiis -iru -enable, quindi premere INVIO.

      ASP.NET verrà registrato con IIS. Per ulteriori informazioni, vedere Strumento di ASP.NET per la registrazione di IIS (Aspnet_regiis.exe).

    5. Chiudere la finestra del prompt dei comandi.

    6. In Gestione IIS selezionare Sito Web predefinito, quindi fare clic su Impostazioni di base nel pannello Azione.

    7. Impostare Pool di applicazioni sul pool di applicazioni ASP.NET v4.0. È possibile ripristinare il valore originale al termine della procedura dettagliata.

    8. Ripetere i passaggi precedenti per l'installazione del pacchetto, a partire dal collegamento ipertestuale Importa applicazione nel pannello Azioni di Gestione IIS.

    Durante l'installazione del pacchetto tramite Distribuzione Web, verrà visualizzata la finestra di dialogo Stato installazione e riepilogo. Nella finestra di dialogo è presente un indicatore di stato durante il processo di installazione. Al completamento del processo, nella finestra di dialogo verrà visualizzato un log delle operazioni eseguite, come illustrato nella figura seguente:

    Finestra di dialogo Stato installazione e riepilogo

  11. Scegliere Fine.

Test dell'applicazione Web distribuita

Il passaggio finale di questa procedura dettagliata consiste nel verificare che l'applicazione Web sia stata distribuita correttamente.

Per eseguire il test dell'applicazione Web

  1. Aprire un browser e immettere l'URL seguente:

    https://localhost/AdventureWorks

    Verrà visualizzata la pagina Default.aspx. L'aspetto della pagina sarà lo stesso di quando viene eseguita in Visual Studio. La tabella di prodotti dimostra che il database AdventureWorksLT è stato distribuito correttamente.

  2. Fare clic sul collegamento Accedi.

  3. Immettere newuser per Nome utente e Password, quindi fare clic su Accedi.

    Verrà nuovamente aperta la pagina Default.aspx con la frase Pagina iniziale - newuser visualizzata accanto al collegamento Disconnessione. Ciò dimostra che il database delle appartenenze di ASP.NET è stato distribuito correttamente.

Passaggi successivi

In questa procedura dettagliata è stato creato un progetto di applicazione Web del file system che contiene due database. Il progetto è stato distribuito in un'applicazione Web IIS che utilizza un solo database.

La procedura dettagliata successiva di questa serie è Procedura dettagliata: distribuzione di un progetto di applicazione Web utilizzando un pacchetto di distribuzione Web (parte 2 di 4). In tale procedura dettagliata si modificheranno la struttura di uno dei database e le pagine Web, quindi si distribuiranno le modifiche.

Vedere anche

Concetti

Mappa del contenuto per la distribuzione di ASP.NET