Esporta (0) Stampa
Espandi tutto

Esercitazione: connessione dell'applicazione ASP.NET a SQL Server in Azure tramite una rete virtuale

Aggiornamento: febbraio 2014

La compilazione di applicazioni in cui vengono utilizzati sia i servizi cloud di Azure (PaaS, piattaforma gestita come servizio) sia Macchine virtuali di Azure (IaaS, infrastruttura gestita come servizio) è un concetto importante per la maggior parte delle organizzazioni. Tramite Macchine virtuali di Azure è possibile eseguire la migrazione delle applicazioni e dei carichi di lavoro server esistenti in Azure distribuendo e gestendo le macchine virtuali. Tramite i servizi cloud Azure è possibile compilare ed eseguire applicazioni multilivello in Azure distribuendo servizi cloud (noti anche come servizi ospitati) costituiti da ruoli Web e ruoli di lavoro.

In questa esercitazione viene illustrato come connettere un'applicazione ASP.NET (un servizio cloud e un ruolo Web) a un'istanza di SQL Server in una macchina virtuale di Azure tramite Rete virtuale di Azure. Quando si crea una macchina virtuale in Azure, il portale consente di scegliere le impostazioni della rete virtuale. Per i servizi cloud, è necessario utilizzare i file di configurazione del servizio per distribuire il servizio cloud in una rete virtuale specifica in Azure.

In questa esercitazione verranno illustrate le procedure che consentono di:

  1. Per eseguire questa esercitazione, installare Visual Studio nel computer locale.

  2. Inoltre, installare Azure SDK per .NET Framework.

    • Per installare Azure SDK per .NET, fare clic sul collegamento dei download di Azure. Scegliere una delle versioni che corrisponde a quella di Visual Studio in uso:

      Azure SDK per Visual Studio 2013

      Azure SDK per Visual Studio 2012

    • Quando viene richiesto di eseguire o salvare VWDOrVs2013AzurePack.2E2.2E2.exe o VWDOrVs11AzurePack.2E2.2E2.exe, fare clic su Esegui.

    • Nella finestra Installazione guidata piattaforma Web fare clic su Installa e procedere con l'installazione.

  3. (Facoltativo) Se si desidera testare questa esercitazione nell'ambiente di sviluppo locale, assicurarsi di installare anche SQL Server nel computer locale.

In questa esercitazione viene illustrato come creare una rete virtuale privata dedicata nel cloud. In questo modo viene garantito che l'indirizzo IP interno (DIP, IP diretto) delle macchine virtuali rimarrà persistente e non cambierà anche in caso di riavvio di una macchina virtuale. Nei passaggi seguenti viene illustrato come creare una nuova rete virtuale per la sottoscrizione nel portale di gestione.

  1. Nel riquadro di navigazione sinistro fare clic su RETI e su NUOVA nel pannello inferiore. Quindi, fare clic su RETE VIRTUALE e su CREAZIONE PERSONALIZZATA.

  2. Nella finestra Dettagli della rete virtuale digitare TestVirtualNetwork nella casella Nome. Selezionare Regione. Scegliere Crea un nuovo gruppo di affinità. Digitare TestAffinityGroup nel campo Nome gruppo di affinità. Per continuare, fare clic sulla freccia avanti.

    La creazione di un gruppo di affinità consente di tenere il più vicino possibile tutti i servizi che appartengono a quel gruppo di affinità in un data center tramite Azure. In questo modo si riduce la latenza e si aumentano le prestazioni, abbassando potenzialmente i costi. Quando si crea una rete virtuale, è possibile utilizzare un gruppo di affinità creato in precedenza oppure crearne uno nuovo. Se si utilizza un gruppo di affinità esistente con la nuova rete virtuale, tutti i servizi cloud precedentemente distribuiti in quel gruppo di affinità verranno configurati automaticamente per essere eseguiti in una posizione quanto più vicina possibile agli altri servizi cloud distribuiti nella nuova rete virtuale.

  3. Nella finestra di dialogo Server DNS e connettività VPN immettere il nome del server DNS e l'indirizzo IP che si desidera utilizzare come TestDNSServer e 10.1.0.4. Non selezionare la casella di controllo per la connettività da punto a sito o da sito a sito. In questa esercitazione viene creata una rete virtuale privata in Azure e non viene progettata per la connettività di più sedi locali.

  4. Nella finestra di dialogo Spazi di indirizzi della rete virtuale è possibile creare lo spazio di indirizzi privato per la nuova rete virtuale e le subnet. Lo spazio degli indirizzi deve essere un intervallo di indirizzi privato, specificato nella notazione CIDR 10.0.0.0/8, 172.16.0.0/12 o 192.168.0.0/16 (come specificato dalla RFC 1918). Per Spazio di indirizzi immettere 10.4.0.0 come IP iniziale e /16 come CIDR. Si noti che a qualsiasi elemento distribuito nella rete virtuale verrà assegnato un indirizzo IP da questo spazio di indirizzi. Rinominare Subnet-1 in FrontEndSubnet con IP iniziale10.4.2.0/24, quindi fare clic su Aggiungi subnet. Fare clic sul segno di spunta nella parte inferiore destra per creare la rete virtuale.

    È possibile creare più subnet all'interno dello spazio di indirizzi della rete virtuale. La creazione di subnet offre un controllo maggiore sugli indirizzi assegnati ai servizi cloud e sulle macchine virtuali distribuite nella rete virtuale. Quando si compilano applicazioni complesse per la piattaforma Azure, è consigliabile configurare più subnet nella stessa rete virtuale, ad esempio una subnet per le macchine virtuali di Internet Information Services (IIS) e un'altra per le macchine virtuali di SQL Server.

    Si noti che gli indirizzi IP della subnet non possono sovrapporsi all'interno della rete virtuale.

  5. Non è possibile modificare il server DNS dopo la distribuzione della rete virtuale. Pertanto, è molto importante pianificare con attenzione il servizio DNS. Per ulteriori informazioni su questa pianificazione, vedere la pagina relativa alla panoramica sulla risoluzione dei nomi di Azure.

    Una volta configurata la rete virtuale, è possibile distribuire le macchine virtuali o i servizi cloud. Per informazioni dettagliate su come configurare una rete virtuale, vedere l'argomento relativo alle informazioni sulla configurazione di una rete virtuale nel portale di gestione in MSDN library. Per ulteriori informazioni sulla rete di Azure e sugli scenari di utilizzo corrispondenti, vedere la pagina relativa alla Rete virtuale di Azure e Panoramica delle macchine virtuali di Azure in MSDN library.

In Azure i database sembrano essere archiviati nel disco locale della macchina virtuale in cui viene eseguita l'istanza di SQL Server. In background, ognuno di questi dischi viene scritto in un BLOB di Azure. In Azure l'account di archiviazione viene utilizzato come contenitore per i dischi. Nei passaggi seguenti viene illustrato come creare un nuovo account di archiviazione nel portale di gestione.

  1. Dopo aver creato la rete virtuale nel portale di gestione di Azure, fare clic a sinistra su ARCHIVIAZIONE e, nell'angolo sinistro della schermata, fare clic su +NUOVA.

  2. Fare clic su Data Services, Archiviazione, quindi su Creazione rapida.

  3. Digitare teststorageaccount4u nella casella URL e scegliere il gruppo di affinità appena creato. In Replica è possibile selezionare il livello di replica desiderato per l'account di archiviazione. In questa esercitazione selezionare Localmente ridondante. Quindi fare clic sulla casella di controllo CREA ACCOUNT DI ARCHIVIAZIONE.

Per ulteriori informazioni sugli account di archiviazione di Azure, vedere la pagina relativa alla descrizione di un account di archiviazione.

In questa esercitazione viene illustrato come connettere un'applicazione ASP.NET (un ruolo Web) a un'istanza di SQL Server in una macchina virtuale di Azure tramite Rete virtuale di Azure. In questa sezione viene illustrato come creare e configurare una macchina virtuale di SQL Server nel gruppo di affinità specificato e nella rete virtuale.

  1. Nella parte inferiore sinistra della pagina Web del portale di gestione di Azure fare clic su +NUOVA, CALCOLO e su MACCHINA VIRTUALE, quindi selezionare DA RACCOLTA.

  2. Selezionare un'immagine di macchina virtuale contenente SQL Server, quindi fare clic sulla freccia avanti nella parte inferiore destra della pagina.

  3. Nella pagina Configurazione macchina virtuale immettere le informazioni seguenti:

    • Se sono disponibili più versioni dell'immagine, in Data di rilascio versione selezionare la versione che si desidera utilizzare.

    • Digitare SQLVM come NOME MACCHINA VIRTUALE. Nel portale di Azure, quando si fa clic sul nome di una macchina virtuale per aprire il dashboard, è possibile che il nome della macchina virtuale venga visualizzato come nome host.

    • Selezionare le DIMENSIONI appropriate nell'elenco a discesa.

    • Nella casella NUOVO NOME UTENTE digitare il nome utente univoco come amministratore locale.

    • Nella casella NUOVA PASSWORD digitare una password complessa.

    • Nella casella CONFERMA PASSWORD ridigitare la password.

  4. Nella pagina Configurazione macchina virtuale immettere le informazioni seguenti:

    • Selezionare Macchina virtuale autonoma.

    • Nella casella NOME DNS DEL SERVIZIO CLOUD specificare la prima parte del nome DNS desiderato, in modo che completi un nome nel formato SQLVM2013.cloudapp.net.

    • Nella casella REGIONE/GRUPPO DI AFFINITÀ/RETE VIRTUALE selezionare una rete virtuale in cui sarà ospitata questa immagine virtuale. In questa esercitazione selezionare la rete TestVirtualNetwork creata in precedenza.

    • Nella casella ACCOUNT DI ARCHIVIAZIONE scegliere l'account di archiviazione teststorageaccount4u creato in precedenza.

    • Quando si seleziona la rete virtuale TestVirtualNetwork nel passaggio precedente, la prima subnet associata a questa rete virtuale verrà visualizzata, per impostazione predefinita, nella casella SUBNET DELLA RETE VIRTUALE. Se non è stata creata alcuna subnet per la rete virtuale, la casella SUBNET DELLA RETE VIRTUALE non verrà visualizzata nella schermata. In alternativa, selezionare la subnet TestSubnet creata in precedenza.

    • Nella casella SET DI DISPONIBILITÀ selezionare (Nessuno).

    • Per continuare, fare clic sulla freccia avanti.

    • Esaminare quindi i nuovi endpoint che verranno creati per consentire connessioni alla macchina virtuale, ad esempio tramite un client Secure Shell (SSH) o desktop remoto. Inoltre, è possibile aggiungere endpoint in questa fase o crearli in un secondo momento. Se si desidera creare endpoint successivamente, vedere la pagina relativa alla modalità di configurazione della comunicazione con una macchina virtuale

    • Leggere e accettare le note legali.

    • Fare clic sul segno di spunta nell'angolo inferiore destro per continuare.

  5. Tramite Azure viene creata la macchina virtuale e vengono configurate le impostazioni del sistema operativo. Si noti che per il processo di provisioning potrebbero essere necessari alcuni minuti. Dopo il completamento del provisioning tramite Azure, la macchina virtuale viene elencata come In esecuzione nel portale di gestione di Azure. Se viene elencata come Arrestata, fare clic su Avvia. Quando si crea una macchina virtuale, viene creato automaticamente un servizio cloud. Il servizio cloud creato per contenere la prima macchina virtuale viene visualizzato nel portale di gestione solo dopo la connessione di macchine virtuali aggiuntive alla prima macchina. Tramite Azure viene definito il nome di questo nuovo servizio cloud utilizzando il nome DNS immesso nella pagina Modalità macchina virtuale.

  6. Nel portale di gestione di Azure fare clic sul nome della macchina virtuale SQLVM creata per aprire il dashboard.

  7. Prendere nota dell'Indirizzo IP interno della macchina virtuale. Sarà necessario utilizzarlo successivamente nella stringa di connessione.

  8. Nel menu inferiore fare clic su Connetti e accedere alla macchina virtuale utilizzando il desktop remoto (RDP). Per accedere utilizzare le credenziali di amministratore.

  9. Al primo accesso a questa macchina virtuale, potrebbe essere necessario completare molti processi, inclusi la configurazione del desktop, gli aggiornamenti di Windows e il completamento delle attività di configurazione iniziale di Windows (sysprep). Una volta completato sysprep di Windows, tramite il programma di installazione di SQL Server vengono terminate le attività di configurazione. Una volta connessi alla macchina virtuale tramite il desktop remoto di Windows, la macchina virtuale funziona come qualsiasi altro computer. È possibile connettersi all'istanza predefinita di SQL Server con SQL Server Management Studio (in esecuzione in una macchina virtuale) in modalità normale.

  10. Successivamente, è necessario configurare SQL Server per l'attesa sul protocollo TCP. A tal fine, fare clic su Start | Tutti i programmi | Microsoft SQL Server | Strumenti di configurazione e aprire Gestione configurazione SQL Server. Si noti che la versione di SQL Server scelta in Start | Tutti i programmi | Microsoft SQL Server deve corrispondere alla versione selezionata durante la creazione della macchina virtuale.

  11. Nel riquadro della console di Gestione configurazione SQL Server espandere Configurazione di rete SQL Server.

  12. Fare clic su Protocolli per il nome dell'istanza (l'istanza predefinita è Protocolli per MSSQLSERVER).

  13. Nel riquadro dei dettagli fare clic con il pulsante destro del mouse su TCP. Deve essere Abilitato per le immagini della raccolta per impostazione predefinita. Per le immagini personalizzate, fare clic su Abilita (se lo stato è Disabilitato).

  14. Nel riquadro della console fare clic su Servizi di SQL Server.

  15. Nel riquadro dei dettagli fare clic con il pulsante destro del mouse su SQL Server (nome istanza) (l'istanza predefinita è SQL Server (MSSQLSERVER)), quindi fare clic su Riavvia per arrestare e riavviare l'istanza di SQL Server.

  16. Successivamente, è necessario aprire le porte TCP in Windows Firewall per l'istanza predefinita del motore di database. A tal fine, fare clic su Start | Tutti i programmi | Strumenti di amministrazione e aprire Windows Firewall con sicurezza avanzata.

  17. Nel riquadro sinistro di Windows Firewall con sicurezza avanzata fare clic con il pulsante destro del mouse su Regole connessioni in entrata, quindi scegliere Nuova regola nel riquadro azioni.

  18. Nella finestra di dialogo Tipo di regola selezionare Porta, quindi fare clic su Avanti.

  19. Nella finestra di dialogo Protocollo e porte selezionare TCP. Selezionare Porte locali specifiche, quindi digitare il numero di porta dell'istanza del motore di database (1433 per l'istanza predefinita). Fare clic su Avanti.

  20. Nella finestra di dialogo Azione selezionare Consenti la connessione, quindi fare clic su Avanti.

  21. Nella finestra di dialogo Profilo selezionare Dominio, Privato, Pubblico, quindi fare clic su Avanti.

  22. Nella pagina Nome impostare il nome della regola in entrata su SQLServerVM1Port e fare clic su Fine. Chiudere la finestra Windows Firewall con sicurezza avanzata.

  23. Successivamente, è necessario configurare SQL Server per l'autenticazione in modalità mista. Senza l'ambiente di dominio, nel motore di database di SQL Server non è possibile utilizzare l'autenticazione di Windows. A tal fine, fare clic su Tutti i programmi | Microsoft SQL Server (versione), quindi scegliere SQL Server Management Studio.

  24. Nella finestra di dialogo Connetti al server, per Nome server digitare il nome host della macchina virtuale per connettersi al motore di database tramite Esplora oggetti. Selezionare Autenticazione di Windows. Fare clic su Connetti.

  25. In Esplora oggetti di SQL Server Management Studio fare clic con il pulsante destro del mouse sul nome dell'istanza di SQL Server (nome della macchina virtuale), quindi fare clic su Proprietà.

  26. Nella pagina Sicurezza selezionare la modalità Autenticazione di SQL Server e di Windows in Autenticazione server, quindi fare clic su OK.

  27. In Esplora oggetti fare clic con il pulsante destro del mouse sul server, quindi scegliere Riavvia.

  28. Successivamente, è necessario creare un account di accesso con autenticazione SQL Server per connettersi alla prima macchina virtuale da un altro computer. A tal fine, in Esplora oggetti di SQL Server Management Studio espandere l'istanza del server SQLVM in cui si desidera creare il nuovo account di accesso. Fare clic con il pulsante destro del mouse sulla cartella Sicurezza, scegliere Nuovo, quindi selezionare Account di accesso.

  29. Nella pagina Generale della finestra di dialogo Account di accesso - Nuovo immettere il nome del nuovo utente sqlvmlogin nella casella Nome account di accesso. Selezionare Autenticazione di SQL Server. Nella casella Password, immettere una password per il nuovo utente. Immettere nuovamente quella password nella casella Conferma password. Nelle altre caselle mantenere i valori predefiniti.

  30. Nella pagina Ruoli del server fare clic su sysadmin, se si desidera definire questo account di accesso come amministratore di SQL Server. Fare clic su OK. Per impostazione predefinita, in Azure viene selezionata l'autenticazione di Windows durante l'installazione della macchina virtuale SQL Server. L'account di accesso sa è pertanto disabilitato e viene assegnata una password tramite il programma di installazione. Per utilizzare l'account di accesso sa, abilitarlo e assegnargli anche una nuova password. Per ulteriori informazioni, vedere Modifica della modalità di autenticazione del server.

  31. In Esplora oggetti di SQL Server Management Studio fare clic con il pulsante destro del mouse sul nome dell'istanza di SQL Server (nome della macchina virtuale), quindi fare clic su Disconnetti.

Successivamente, creare un database di esempio che verrà utilizzato dall'applicazione ASP.NET.

  1. In Esplora oggetti di SQL Server Management Studio fare clic su Connetti, quindi su Motore di database….

  2. Nella finestra di dialogo Connetti al server per Nome server digitare il nome host della macchina virtuale SQLVM per connettersi al motore di database. Selezionare Autenticazione di SQL Server. Digitare sqlvmlogin come nome dell'account di accesso e immettere la password specificata in precedenza. Fare clic su Connetti.

  3. In Esplora oggetti di SQL Server Management Studio fare clic con il pulsante destro del mouse sul nome dell'istanza di SQL Server (nome della macchina virtuale), quindi fare clic con il pulsante destro del mouse su Nuova query.

  4. Eseguire l'istruzione seguente per creare un database di esempio.

    CREATE DATABASE TestDb;
    GO
    
  5. In Database selezionare il nuovo database, TestDB. Fare clic con il pulsante destro del mouse sul database TestDB e aprire la finestra Nuova query. Eseguire le istruzioni seguenti per creare due righe nel database TestDB.

    CREATE TABLE Table1 (Col1 int primary key, Col2 varchar(20));
    GO
    INSERT INTO Table1 (Col1, Col2) VALUES (1, 'string1'), (2, 'string2');
    GO
    
    WarningAvviso
    Per impostazione predefinita, in Azure il software di SQL Server e del sistema operativo viene mantenuto nell'unità del sistema operativo (C:\). Per ottenere prestazioni migliori, è consigliabile collegare i dischi di dati alla macchina virtuale per mantenere tutti i file di dati e di log. Inoltre, è consigliabile non archiviare alcun dato nell'unità di archiviazione temporanea (D:\) poiché non è persistente. Per ulteriori informazioni sul collegamento di dischi dati in Azure, vedere l'articolo relativo al collegamento di un disco dati a una macchina virtuale. Per ulteriori informazioni su come modificare i percorsi predefiniti dei nuovi file di dati e di log in SQL Server utilizzando SQL Server Management Studio, vedere Visualizzazione o modifica dei percorsi predefiniti per i file di dati e di log.

In questa sezione viene illustrato come creare un'applicazione ASP.NET semplice nel computer locale e come configurarla per la connessione a un'istanza del database di SQL Server in una macchina virtuale di Azure. In questo esempio viene utilizzato il controllo GridView per poter inserire, aggiornare ed eliminare dati da un database senza scrivere codice.

  1. In Visual Studio scegliere Nuovo dal menu File e selezionare Progetto.

  2. Nell'elenco Modelli installati della finestra di dialogo Nuovo progetto selezionare Servizio cloud Azure per Visual C# o Visual Basic.

  3. Specificare DataBinding nel campo del nome e fare clic su OK.

  4. Nella finestra di dialogo Nuovo servizio cloud Azure selezionare Ruolo Web ASP.NET dall'elenco Ruoli .NET Framework, quindi fare clic sulla freccia per aggiungerlo all'elenco Soluzione servizio cloud Azure. Fare clic su OK. Con Visual Studio 2013 selezionare Web Form in Nuovo progetto ASP.NET per WebRole. Successivamente, scegliere OK.

  5. In Default.aspx fare clic su Progettazione per passare alla visualizzazione della struttura.

  6. Trascinare il controllo GridView dalla Casella degli strumenti - Dati all'area di progettazione.

  7. Nella finestra Proprietà per GridView impostare AutoGenerateDeleteButton e AutoGenerateEditButton su true.

  1. Nel progetto Ruolo Web in Esplora soluzioni fare doppio clic su Web.config.

  2. In Web.config sostituire il tag connectionStrings esistente come segue e modificare in base alle esigenze:

    <connectionStrings>
        <add name="SQLServerinWAConnection" 
        connectionString="Data Source=tcp:SQLVMInternalIPAddress;Initial Catalog=TestDb;User ID=sqlvmlogin;Password=yourpassword;Encrypt=true;Trusted_Connection=false;TrustServerCertificate=true"
        providerName="System.Data.SqlClient" />
    </connectionStrings>
    
    Quando TrustServerCertificate è impostato su true, l'utente richiede che nel livello trasporto venga utilizzato SSL per crittografare il canale e ignorare il passaggio alla catena di certificati per convalidare l'attendibilità. Per ulteriori informazioni, vedere Crittografia delle connessioni a SQL Server.

    WarningAvviso
    Assicurarsi di aggiornare tcp:SQLVMInternalIPAdress con l'indirizzo IP interno della nuova macchina virtuale, ad esempio tcp:10.4.2.4. Inoltre, accertarsi di aggiornare la password con quella specificata in precedenza per l'account di accesso sqlvmlogin.

    Quando si distribuisce il progetto Azure in una rete virtuale, non è necessario gestire la risoluzione dei nomi tra le istanze. In altre parole, se si distribuisce un ruolo Web che verrà connesso a un'istanza di SQL Server in esecuzione in una macchina virtuale nella stessa rete virtuale, è necessario specificare l'indirizzo IP dell'istanza di SQL Server nel file web.config. Per questo motivo è consigliabile creare innanzitutto la macchina virtuale di SQL Server, in modo da poter ottenere l'indirizzo IP interno della macchina virtuale per l'applicazione Web.

  3. Per ottenere l'indirizzo IP della macchina virtuale, accedere al portale di gestione. Fare clic su Macchine virtuali. Fare clic sulla nuova macchina virtuale, SQLVM, per aprire il relativo dashboard. Copiare l'indirizzo IP interno nel file web.config come illustrato in precedenza.

  4. In Default.aspx fare clic su Origine per passare alla vista origine.

  5. Aggiungere il markup seguente per creare un controllo SqlDataSource per la connessione nel tag BodyContent nel file di origine Default.aspx:

    <asp:SqlDataSource ID="SQLServerDataSource" runat="server" 
       ConnectionString="<%$ ConnectionStrings: SQLServerinWAConnection %>" 
       InsertCommand="INSERT INTO [Table1] ([Col1], [Col2]) VALUES (@Col1, @Col2)" 
       SelectCommand="SELECT * FROM [Table1]" 
       UpdateCommand="UPDATE [Table1] SET [Col2] = @Col2 WHERE [Col1] = @Col1"
       DeleteCommand="DELETE FROM [Table1] WHERE [Col1] = @Col1">
       <UpdateParameters>
          <asp:Parameter Name="Col2" Type="String" />
          <asp:Parameter Name="Col1" Type="Int32" />
       </UpdateParameters>
       <InsertParameters>
          <asp:formParameter Name="Col1" FormField="TextBox1" />
          <asp:formParameter Name="Col2" FormField="TextBox2" />
       </InsertParameters>
       <DeleteParameters>
          <asp:Parameter Name="Col1" Type="Int32" />
       </DeleteParameters>
    </asp:SqlDataSource>
    
    Sono incluse le logiche SELECT, INSERT, UPDATE e DELETE per il controllo.

  6. In Default.aspx passare alla modalità Design. Fare clic sul controllo GridView appena aggiunto. Nella finestra Proprietà del controllo GridView aggiungere i seguenti attributi al markup del controllo GridView: DataSourceID="SQLServerDataSource" e DataKeyNames="Col1".

  7. Gli sviluppatori possono progettare liberamente le proprie pagine ASP.NET in base ai requisiti dell'applicazione. Per questa esercitazione, quando si utilizza Visual Studio 2013, è possibile modificare l'origine Default.aspx come segue:

    <%@ Page Title="Home Page" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebRole1._Default" %>
    
    <asp:Content ID="BodyContent" ContentPlaceHolderID="MainContent" runat="server">
    
        <div class="jumbotron">
            <h1>ASP.NET</h1>
            <p class="lead">ASP.NET is a free web framework for building great Web sites and Web applications using HTML, CSS, and JavaScript.</p>
            <p><a href="http://www.asp.net" class="btn btn-primary btn-large">Learn more &raquo;</a></p>
        </div>
    
        <div class="row">
            <div class="col-md-4">
                <h2>Getting started                
                </h2>
                <p>
                    ASP.NET Web Forms lets you build dynamic websites using a familiar drag-and-drop, event-driven model.
                A design surface and hundreds of controls and components let you rapidly build sophisticated, powerful UI-driven sites with data access.
                </p>
                <asp:GridView ID="GridView2" runat="server" AutoGenerateDeleteButton="True" AutoGenerateEditButton="True" DataKeyNames="Col1" DataSourceID="SQLServerDataSource">
                    </asp:GridView>
                
                <asp:SqlDataSource ID="SQLServerDataSource" runat="server" 
                    ConnectionString="<%$ ConnectionStrings: SQLServerinWAConnection %>" 
                    InsertCommand="INSERT INTO [Table1] ([Col1], [Col2]) VALUES (@Col1, @Col2)" 
                    SelectCommand="SELECT * FROM [Table1]" 
                    UpdateCommand="UPDATE [Table1] SET [Col2] = @Col2 WHERE [Col1] = @Col1"
                    DeleteCommand="DELETE FROM [Table1] WHERE [Col1] = @Col1">
                <UpdateParameters>
                    <asp:Parameter Name="Col2" Type="String" />
                    <asp:Parameter Name="Col1" Type="Int32" />
                </UpdateParameters>
                <InsertParameters>
                    <asp:formParameter Name="Col1" FormField="TextBox1" />
                    <asp:formParameter Name="Col2" FormField="TextBox2" />
                </InsertParameters>
                <DeleteParameters>
                    <asp:Parameter Name="Col1" Type="Int32" />
                </DeleteParameters>
    </asp:SqlDataSource>
            </div>
                 
        </div>
        </asp:Content>
    
    
    
  8. Aggiungere il tag seguente al file Web.config subito dopo il tag <compilation> nel tag <system.web>:

    <customErrors mode="Off"/>
    
    In questo modo viene garantito che, durante l'esecuzione di questa applicazione, venga visualizzata la traccia dello stack di qualsiasi messaggio di errore.

  9. (Facoltativo) Se si desidera testare l'applicazione nell'ambiente di sviluppo locale, eseguire Visual Studio come amministratore. Successivamente, assicurarsi che la stringa di connessione punti all'istanza del database di SQL Server. Per il test locale, creare il database di esempio e la tabella nel server locale. In seguito, sostituire il tag <connectionStrings> in Web.config come mostrato di seguito.

    <connectionStrings>
        <add name="SQLServerinWAConnection" connectionString="Data Source=tcp:SQLVMInternalIPAddress;Initial Catalog=TestDb;User ID=sqlvmlogin;Password=yourpassword;Encrypt=true;Trusted_Connection=false;TrustServerCertificate=true"
        providerName="System.Data.SqlClient" />
        <add name="SQLServerLocalConnection" connectionString="Data Source=localhost;Initial Catalog=TestDb;Trusted_Connection=true"
        providerName="System.Data.SqlClient" />
    </connectionStrings>
    
    Inoltre, aggiornare l'attributo ConnectingString nel file di origine Default.aspx in modo che punti al server locale come riportato di seguito:

    ConnectionString="<%$ ConnectionStrings:SQLServerLocalConnection %>"
    
    Quindi, premere F5 per eseguire la soluzione.

Nel portale di gestione è possibile distribuire una macchina virtuale in una rete virtuale di Azure. Tuttavia, attualmente, non è possibile specificare le impostazioni della rete virtuale per il progetto di servizio cloud Azure tramite il portale. È necessario aggiornare le impostazioni di configurazione della rete nel file con estensione cscfg del pacchetto di distribuzione di Azure. Nella soluzione sono disponibili due file di configurazione del servizio:

  • ServiceConfiguration.Cloud.csfg: utilizzare questo file di configurazione per impostare l'applicazione per la distribuzione cloud Azure.

  • ServiceConfiguration.Local.csfg: utilizzare questo file per la configurazione locale che può essere utilizzata per eseguire il debug dell'applicazione nell'emulatore di calcolo.

  1. Per abilitare la comunicazione tra il ruolo Web e la macchina virtuale di SQL Server, il ruolo Web deve essere configurato in modo da connettersi alla stessa rete virtuale della macchina virtuale di SQL Server. A tal fine, è necessario aggiornare il file ServiceConfiguration.Cloud.cscfg. Espandere il progetto DataBinding in Esplora soluzioni. I file di configurazione del servizio devono essere visualizzati subito dopo Ruoli in Visual Studio. Aprire il file ServiceConfiguration.Cloud.cscfg e aggiungere l'elemento NetworkConfiguration seguente subito dopo l'ultimo tag Role.

    <NetworkConfiguration>
          <VirtualNetworkSite name="TestVirtualNetwork" />
          <AddressAssignments>
              <InstanceAddress roleName="WebRole1">
                 <Subnets>
                    <Subnet name="FrontEndSubnet" />
               </Subnets>
            </InstanceAddress>
       </AddressAssignments>
     </NetworkConfiguration>
    
    Si noti che se non si specificano valori nelle sezioni degli elementi della rete virtuale del file di configurazione del servizio, il servizio cloud non verrà distribuito in una rete virtuale. Per ulteriori informazioni, vedere la pagina relativa allo schema di configurazione della rete. Se si distribuisce il proprio server DNS nella piattaforma Azure, è necessario specificare il server DNS per le istanze del ruolo Web/di lavoro nel file con estensione csfg.

    WarningAvviso
    Assicurarsi che Nome VirtualNetworkSite e Nome subnet corrispondano ai nomi utilizzati in precedenza quando è stata creata la rete virtuale.

  2. Una volta configurate le impostazioni nel file di configurazione, aprire la finestra di dialogo Proprietà ruolo per selezionare la configurazione che si desidera utilizzare. A tal fine, fare clic con il pulsante destro del mouse su WebRole1 in Esplora soluzioni. Aprire la finestra Proprietà di WebRole1. Selezionare Configurazione. Nella casella Configurazione del servizio selezionare Cloud.

  3. Premere F6 per compilare la soluzione.

    WarningAvviso
    Se le macchine virtuali e i ruoli Web/di lavoro di Azure si trovano nella stessa rete virtuale di Azure si ottengono una latenza minima e una connettività più sicura.

In questa sezione viene illustrata la pubblicazione di un'applicazione Web in Azure tramite la creazione di un pacchetto mediante Visual Studio. Successivamente, questo pacchetto verrà utilizzato per creare un servizio cloud nella stessa rete virtuale utilizzata per creare, in precedenza, una macchina virtuale di SQL Server.

  1. Per pubblicare l'applicazione Web in Azure, in Visual Studio-Esplora soluzioni fare clic con il pulsante destro del mouse sul progetto DataBinding e selezionare Pacchetto.

  2. Nella finestra di dialogo Pacchetto applicazione Azure verificare che l'opzione Configurazione del servizio sia impostata su Cloud e l'opzione Configurazione compilazione sia impostata su Versione. Successivamente, fare clic sul pulsante Pacchetto.

    WarningAvviso
    Se viene visualizzato un errore in cui viene indicato che tramite Visual Studio non è possibile sovrascrivere la cartella <cartella del progetto>\bin\Release\app.publish esistente, eliminare manualmente i file del pacchetto esistenti. In seguito, ripetere i passaggi precedenti per creare un nuovo pacchetto.

  3. Eseguire l'accesso al portale di gestione.

  4. Fare clic su +NUOVO nella parte inferiore della pagina, selezionare CALCOLO, Servizio cloud, quindi Creazione personalizzata.

  5. Nella finestra Crea un servizio cloud immettere DataBinding nella casella di testo URL, selezionare TestAffinityGroup nell'elenco di selezione Regione/gruppo di affinità e selezionare l'opzione Distribuisci un pacchetto di servizi cloud ora. Per continuare, fare clic sulla freccia avanti.

  6. Nella finestra Pubblica il servizio cloud immettere un nome per la nuova distribuzione (ad esempio DataBinding). Passare al percorso per il pacchetto e i file di configurazione (ad esempio <cartella del progetto>\bin\Release\app.publish) e selezionare l'opzione Distribuisci anche se uno o più ruoli contengono una singola istanza.

  7. È possibile utilizzare la casella di controllo Aggiungi certificati ora quando si desidera proteggere l'applicazione utilizzando la crittografia SSL. Per ulteriori informazioni, vedere la pagina relativa alla configurazione di SSL per un'applicazione in Azure.

  8. Successivamente, per completare, fare clic sul pulsante con il segno di spunta. Si noti che per la creazione di un servizio cloud potrebbero essere necessari alcuni minuti.

  9. Per visualizzare tutte le risorse della rete virtuale, fare clic su RETI nel riquadro sinistro. Successivamente, fare clic su TestVirtualNetwork per aprire il relativo dashboard.

  10. Per eseguire l'applicazione, fare clic su Servizi cloud nel riquadro sinistro. In seguito, fare clic sul servizio cloud DataBinding per aprire il relativo dashboard. Fare clic su URL sito per eseguire l'applicazione.

  11. Se si utilizza Visual Studio 2013 per compilare l'applicazione ASP.NET, durante l'esecuzione di quest'ultima viene visualizzata la schermata riportata di seguito.

WarningAvviso
In questa esercitazione non viene illustrato come proteggere il servizio cloud utilizzando la crittografia SSL o i certificati a livello di servizio. È consigliabile proteggere sempre l'applicazione e le relative stringhe di connessione.

Se si desidera fornire interazioni sicure per gli utenti del servizio cloud, utilizzare i certificati di servizio. Se si desidera pubblicare il servizio cloud direttamente da Visual Studio in Azure, utilizzare i certificati di gestione. Per ulteriori informazioni sui certificati, vedere Gestione di certificati in Azure. Per ulteriori informazioni su come configurare un certificato di servizio, vedere la pagina relativa alla configurazione di SSL per un'applicazione in Azure e Come configurare un certificato SSL su un endpoint HTTPS.

È inoltre consigliabile distribuire l'applicazione compressa nell'ambiente di gestione temporanea in Azure affinché venga testata prima di spostarla nell'ambiente di produzione in cui è possibile accedere all'applicazione tramite Internet. Per ulteriori informazioni, vedere la pagina relativa alla gestione temporanea di un'applicazione in Azure.

Vedere anche

Microsoft sta conducendo un sondaggio in linea per comprendere l'opinione degli utenti in merito al sito Web di MSDN. Se si sceglie di partecipare, quando si lascia il sito Web di MSDN verrà visualizzato il sondaggio in linea.

Si desidera partecipare?
Mostra:
© 2014 Microsoft