Exportar (0) Imprimir
Expandir todo

Tutorial: Conectar la aplicación ASP.NET a SQL Server en Azure a través de la red virtual

Actualizado: febrero de 2014

La creación de aplicaciones que utilizan los Servicios en la nube de Azure (plataforma como servicio) y máquinas virtuales de Azure (infraestructura como servicio) es un concepto importante para la mayoría de las organizaciones. Con las máquinas virtuales de Azure, puede migrar sus cargas de trabajo y aplicaciones actuales a Azure implementando y administrando máquinas virtuales. Con los Servicios en la nube de Azure, puede compilar y ejecutar aplicaciones de varios niveles en Azure implementando Servicios en la nube (denominados también servicios hospedados) que se componen de roles web y de trabajo.

En este tutorial se demuestra cómo conectar una aplicación ASP.NET (un servicio en la nube y un rol Web) a SQL Server en la máquina virtual de Azure a través de la red virtual de Azure. Cuando se crea una máquina virtual en Azure, el portal permite establecer la configuración de la red virtual. Para los Servicios en la nube, debe utilizar los archivos de configuración del servicio para implementar el servicio en la nube en una red virtual específica de Azure.

En este tutorial, aprenderá a:

  1. Para seguir este tutorial, instale Visual Studio en el equipo local.

  2. Además, instale el SDK de Azure para .NET Framework.

    • Para instalar el SDK de Azure para .NET, haga clic en el Vínculo de descargas de Azure. Elija una de las versiones que corresponde a la versión de Visual Studio que utiliza:

      Azure SDK para Visual Studio 2013

      Azure SDK para Visual Studio 2012

    • Cuando se le pregunte si desea ejecutar o guardar VWDOrVs2013AzurePack.2E2.2E2.exe o VWDOrVs11AzurePack.2E2.2E2.exe, haga clic en Ejecutar.

    • En la ventana Instalador de plataforma web, haga clic en Instalar y continúe con la instalación.

  3. (Opcional) Si desea probar este tutorial en el entorno de desarrollo on-premises local, asegúrese de instalar también SQL Server en el equipo local.

En este tutorial, nuestro objetivo es crear una red privada virtual dedicada en la nube. De este modo se asegura de que la dirección IP interna (IP dirigido DIP) de las máquinas virtuales permanezcan persistentes y no cambien, incluso cuando se reinicia una máquina virtual. Los pasos siguientes muestran cómo crear una nueva red virtual para la suscripción en el Portal de administración.

  1. En el panel de navegación de la izquierda, haga clic en REDES y haga clic en NUEVO en el panel inferior. A continuación, haga clic en RED VIRTUAL y CREACIÓN PERSONALIZADA.

  2. En la ventana Detalles de la red virtual, escriba TestVirtualNetwork en el cuadro Nombre. Seleccione Región. Elija Crear un nuevo grupo de afinidad. Escriba TestAffinityGroup en el campo Nombre del grupo de afinidad. Haga clic en la flecha siguiente para continuar.

    Al crear un grupo de afinidad se permite a Azure conservar todos los servicios pertenecientes a ese grupo de afinidad lo más próximos entre sí en un centro de datos. De este modo se reduce la latencia y se mejora el rendimiento, con una potencial disminución de costos. Al crear una red virtual, puede usar un grupo de afinidad creado anteriormente o puede crear uno nuevo. Si usa un grupo de afinidad existente con la nueva red virtual, todos los servicios en la nube implementados previamente dentro de ese grupo de afinidad se designarán automáticamente para que se ejecuten en una ubicación lo más cercana posible a los demás servicios en la nube que implemente en la nueva red virtual.

  3. En la ventana de diálogo Servidores DNS y conectividad VPN, indique el nombre del servidor DNS y la dirección IP que desea usar, como TestDNSServer y 10.1.0.4. No active la casilla de conectividad de punto a sitio o de sitio a sitio. En este tutorial vamos a crear una red privada virtual en Azure y no está diseñada para conectividad entre entornos.

  4. En la ventana de diálogo Espacio de direcciones de la red virtual, puede crear el espacio de direcciones privado para la nueva red virtual y las subredes. El espacio de direcciones debe ser un intervalo de direcciones privado, especificado en la notación CIDR 10.0.0.0/8, 172.16.0.0/12 o 192.168.0.0/16 (según se define en RFC 1918). En Espacio de direcciones, escriba 10.4.0.0 como Dirección IP de inicio y /16 como CIDR. Observe que todo lo que implemente en la red virtual obtendrá una dirección IP de este espacio de direcciones. Cambie el nombre Subred-1 a SubredFrontEnd con la Dirección IP de inicio10.4.2.0/24 y, a continuación, haga clic en Agregar subred. Haga clic en la marca de verificación en la parte inferior derecha para crear la red virtual.

    Puede crear varias subredes en el espacio de direcciones de la red virtual. La creación de subredes le proporciona mayor control sobre las direcciones asignadas a los Servicios en la nube y sobre máquinas virtuales implementadas en la red virtual. Al compilar aplicaciones complejas para la plataforma Azure, se recomienda que instale varias subredes en la misma red virtual, como una subred para sus máquinas virtuales de Internet Information Services (IIS) y otra subred para sus máquinas virtuales de SQL Server.

    Observe que las direcciones IP de la subred no pueden solaparse dentro de la red virtual.

  5. No puede cambiar el servidor DNS una vez implementada la red virtual. Por lo tanto, es muy importante planear el servicio DNS con cuidado. Si desea obtener más información para ayudar con este planeamiento, vea Información general sobre la resolución de nombres de Azure.

    Una vez configurada la red virtual, puede implementar máquinas virtuales o Servicios en la nube. Para obtener información detallada acerca de cómo configurar una red virtual, vea el tema Acerca de la configuración de una red virtual en el Portal de administración en MSDN Library. Para obtener más información acerca de la red de Azure y sus escenarios de uso, vea Red virtual de Azure y Información general de las máquinas virtuales de Azure en MSDN Library.

En Azure, las bases de datos parecen estar almacenadas en el disco local de la máquina virtual en la que la instancia de SQL Server se ejecuta. En segundo plano, cada uno de esos discos se escribe en un blob de Azure. Azure utiliza la cuenta de almacenamiento como contenedor para los discos. Los pasos siguientes demuestran cómo crear una nueva cuenta de almacenamiento en el Portal de administración.

  1. Después de crear la red virtual en el Portal de administración de Azure, a la izquierda, haga clic en ALMACENAMIENTO y, en la esquina izquierda de la pantalla, haga clic en +NUEVO.

  2. Haga clic en Data Services, Almacenamiento y en Creación rápida.

  3. Escriba teststorageaccount4u en el cuadro Dirección URL y elija el grupo de afinidad recién creado. En Replicación, puede seleccionar el nivel de replicación que desea para su cuenta de almacenamiento. En este tutorial, seleccione Localmente redundante. Después, haga clic en la casilla CREAR CUENTA DE ALMACENAMIENTO.

Para obtener más información sobre las cuentas de almacenamiento de Azure, vea Qué es una cuenta de almacenamiento.

El objetivo de este tutorial es demostrar cómo conectar una aplicación ASP.NET (un rol Web) a SQL Server en la máquina virtual de Azure a través de la red virtual de Azure. Esta sección muestra cómo crear y configurar una máquina virtual de SQL Server en el grupo de afinidad y la red virtual especificados.

  1. En el Portal de administración de Azure, en la parte inferior izquierda de la página Web, haga clic en NUEVO, CALCULAR y, a continuación MÁQUINA VIRTUAL, y haga clic en DESDE LA GALERÍA.

  2. Seleccione una imagen de máquina virtual que contenga SQL Server y haga clic en la flecha siguiente en la parte inferior derecha de la página.

  3. En la página Configuración de la máquina virtual, proporcione la siguiente información:

    • Si hay varias versiones de la imagen disponibles, en Fecha de lanzamiento de la versión, elija la versión que desea usar.

    • Escriba SQLVM como NOMBRE DE MÁQUINA VIRTUAL. Tenga en cuenta que, en el portal de Azure, al hacer clic en el nombre de una máquina virtual para abrir su panel, puede ver el nombre de la máquina virtual como un nombre de host.

    • Seleccione el TAMAÑO apropiado en la lista desplegable.

    • En el cuadro NOMBRE DE USUARIO NUEVO, escriba un nombre de usuario único para el administrador local.

    • En el cuadro NUEVA CONTRASEÑA, escriba una contraseña segura.

    • En el cuadro CONFIRMAR CONTRASEÑA, vuelva a escribir la contraseña.

  4. En la página Configuración de la máquina virtual, proporcione la siguiente información:

    • Seleccione Máquina virtual independiente.

    • En el cuadro NOMBRE DNS DE SERVICIO EN LA NUBE, proporcione la primera parte del nombre DNS que prefiera, de modo que complete un nombre con el formato SQLVM2013.cloudapp.net.

    • En el cuadro REGIÓN/GRUPO DE AFINIDAD/RED VIRTUAL, seleccione una red virtual donde se hospedará esta imagen virtual. En este tutorial, seleccione la TestVirtualNetwork que creó anteriormente.

    • En el cuadro CUENTA DE ALMACENAMIENTO, elija la cuenta de almacenamiento teststorageaccount4u que creó anteriormente.

    • Al seleccionar la red virtual TestVirtualNetwork en el paso anterior, la primera subred asociada a esta red virtual aparecerá en el cuadro SUBREDES DE RED VIRTUAL de forma predeterminada. Si no ha creado una subred para la red virtual, el cuadro SUBREDES DE RED VIRTUAL no aparecerá en la pantalla. De lo contrario, seleccione la subred TestSubnet que creó anteriormente.

    • En el cuadro CONJUNTO DE DISPONIBILIDAD, seleccione (Ninguno).

    • Haga clic en la flecha siguiente para continuar.

    • Después, revise los nuevos extremos que se crearán para permitir conexiones a la máquina virtual, como mediante Escritorio remoto o un cliente de Shell seguro (SSH). También puede agregar extremos ahora o crearlos más adelante. Si desea crear extremos más tarde, vea Configurar la comunicación con una máquina virtual.

    • Lea y acepte las condiciones legales.

    • Haga clic en la marca de verificación de la esquina inferior derecha para continuar.

  5. Azure crea la máquina virtual y configura los valores del sistema operativo. Tenga en cuenta que el proceso de aprovisionamiento puede tardar unos minutos. Después de que Azure aprovisione la máquina virtual, aparece como En ejecución en el Portal de administración de Azure. Si aparece como Detenida, haga clic en Iniciar. Al crear una máquina virtual, se crea automáticamente un servicio en la nube. El servicio en la nube que se crea para contener la primera máquina virtual no se muestra en el Portal de administración hasta que conecta máquinas virtuales adicionales al primer equipo. Azure define el nombre de este nuevo servicio en la nube con el nombre DNS especificado en la página Modo de máquina virtual.

  6. En el Portal de administración de Azure, haga clic en el nombre de la máquina virtual SQLVM recién creada para abrir su panel.

  7. Tome nota de la Dirección IP interna de la máquina virtual. Se usará en la cadena de conexión posterior.

  8. En el menú, haga clic en Conectar e inicie sesión en la máquina virtual con Escritorio remoto (RDP). Use las credenciales de administrador para iniciar sesión.

  9. La primera vez que inicie sesión en esta máquina virtual, es posible que deba completar varios procesos, como es la instalación del escritorio, actualizaciones de Windows y finalizar algunas tareas de la configuración inicial de Windows (sysprep). Cuando sysprep de Windows se completa, el programa de instalación de SQL Server realiza las tareas de configuración. Una vez conectado a la máquina virtual con Escritorio remoto de Windows, la máquina virtual funciona como cualquier otro equipo. Puede conectarse a la instancia predeterminada de SQL Server con SQL Server Management Studio (que se ejecuta en la máquina virtual) de la forma normal.

  10. Después, tiene que configurar SQL Server para atender al protocolo TCP. Para ello, haga clic en Inicio | Todos los programas | Microsoft SQL Server | Herramientas de configuración y abra el Administrador de configuración de SQL Server. Observe que la versión de SQL Server que elija en Iniciar | Todos los programas | Microsoft SQL Server debe coincidir con la versión que eligiera cuando creó la máquina virtual.

  11. En el Administrador de configuración de SQL Server, expanda Configuración de red de SQL Server en el panel de la consola.

  12. Haga clic en Protocolos para escribir el nombre de instancia. (El nombre de instancia predeterminado es MSSQLSERVER).

  13. En el panel de detalles, haga clic con el botón secundario en TCP; debe estar Habilitado para las imágenes de la galería de forma predeterminada. Para las imágenes personalizadas, haga clic en Habilitar (si su estado es Deshabilitado).

  14. En el panel de la consola, haga clic en Servicios de SQL Server.

  15. En el panel de detalles, haga clic con el botón secundario en SQL Server (nombre de instancia), la instancia predeterminada es SQL Server (MSSQLSERVER) y haga clic en Reiniciar, para detener y reiniciar la instancia de SQL Server.

  16. Después, tiene que abrir los puertos TCP en el Firewall de Windows para la instancia predeterminada del motor de base de datos. Para ello, haga clic en Iniciar | Todos los programas | Herramientas administrativas y abra Firewall de Windows con seguridad avanzada.

  17. En Firewall de Windows con seguridad avanzada, en el panel izquierdo, haga clic con el botón secundario en Reglas de entrada y, a continuación, haga clic en Nueva regla en el panel de acciones.

  18. En el cuadro de diálogo Tipo de regla, seleccione Puerto y, a continuación, haga clic en Siguiente.

  19. En el cuadro de diálogo Protocolo y puertos, seleccione TCP. Seleccione Puertos locales específicos y, a continuación, escriba el número de puerto de la instancia del Motor de base de datos (1433 para la instancia predeterminada). Haga clic en Siguiente.

  20. En el cuadro de diálogo Acción, seleccione Permitir la conexión y, a continuación, haga clic en Siguiente.

  21. En cuadro de diálogo Perfil, seleccione Dominio, Privado y Público y, a continuación, haga clic en Siguiente.

  22. En la página Nombre, establezca el nombre de la regla de entrada en SQLServerVM1Port y haga clic en Finalizar. Cierre la ventana Firewall de Windows con seguridad avanzada.

  23. Después, tiene que configurar SQL Server para la autenticación en modo mixto. Entonces, el Motor de base de datos de SQL Server no puede utilizar la autenticación de Windows sin el entorno de dominio. Para ello, haga clic Todos los programas | Microsoft SQL Server 2012 (versión) y, a continuación, haga clic en SQL Server Management Studio.

  24. En el cuadro de diálogo Conectar con el servidor, como Nombre del servidor escriba el nombre de host de la máquina virtual para conectarse al Motor de base de datos con el Explorador de objetos. Seleccione Autenticación de Windows. Haga clic en Conectar.

  25. En el Explorador de objetos de SQL Server Management Studio, haga clic con el botón secundario en el nombre de la instancia de SQL Server (el nombre de la máquina virtual) y haga clic en Propiedades.

  26. En la página Seguridad, enAutenticación de servidor, seleccione el modo SQL Server y autenticación de Windows y haga clic en Aceptar.

  27. En el Explorador de objetos, haga clic con el botón secundario en el servidor y, a continuación, haga clic en Reiniciar.

  28. A continuación, debe crear un inicio de sesión de la autenticación de SQL Server para conectarse a la primera máquina virtual desde otro equipo. Para ello, en el Explorador de objetos de SQL Server Management Studio, expanda la instancia de servidor SQLVM en la que desea crear el nuevo inicio de sesión. Haga clic con el botón secundario en la carpeta Seguridad, seleccione Nuevo y, a continuación, seleccione Inicio de sesión...

  29. En el cuadro de diálogo Inicio de sesión - Nuevo, en la página General, escriba el nuevo nombre de usuario sqlvmlogin en el cuadro Nombre de inicio de sesión. Seleccione Autenticación de SQL Server. En el cuadro Contraseña, escriba una contraseña para el nuevo usuario. Vuelva a escribir la contraseña en el cuadro Confirmar contraseña. Deje los valores predeterminados en otros cuadros.

  30. En la página Roles de servidor, haga clic en sysadmin si desea indicar este inicio de sesión como administrador de SQL Server. Haga clic en Aceptar. De forma predeterminada, Azure selecciona la autenticación de Windows durante la instalación de la máquina virtual de SQL Server. Por consiguiente, el inicio de sesión de sa está deshabilitado y en la instalación se asigna una contraseña. Para usar el inicio de sesión de sa, habilítelo y asigne también una contraseña nueva. Para obtener más información, vea Modo de autenticación del servidor de cambios.

  31. En el Explorador de objetos de SQL Server Management Studio, haga clic con el botón secundario en el nombre de la instancia de SQL Server (el nombre de la máquina virtual) y haga clic en Desconectar.

A continuación, cree una base de datos de ejemplo que usará la aplicación ASP.NET.

  1. En SQL Server Management Studio Explorador de objetos, haga clic en Conectar y, después, en Motor de base de datos….

  2. En el cuadro de diálogo Conectar con el servidor, como Nombre del servidor, escriba el nombre de host de la máquina virtual SQLVM para conectarse al Motor de base de datos. Seleccione Autenticación de SQL Server. Escriba sqlvmlogin como nombre de inicio de sesión y especifique la contraseña indicada. Haga clic en Conectar.

  3. En el Explorador de objetos de SQL Server Management Studio, haga clic con el botón secundario en el nombre de la instancia de SQL Server (el nombre de la máquina virtual) y haga clic con el botón secundario en Nueva consulta.

  4. Ejecute la instrucción siguiente para crear una base de datos de ejemplo.

    CREATE DATABASE TestDb;
    GO
    
  5. Debajo de Bases de datos, seleccione la nueva base de datos, TestDB. Haga clic con el botón secundario en la base de datos TestDB y abra la ventana Nueva consulta. Ejecute las siguientes instrucciones para crear dos filas en la base de datos TestDB.

    CREATE TABLE Table1 (Col1 int primary key, Col2 varchar(20));
    GO
    INSERT INTO Table1 (Col1, Col2) VALUES (1, 'string1'), (2, 'string2');
    GO
    
    WarningAdvertencia
    De forma predeterminada, Azure mantiene todo el sistema operativo y el software de SQL Server en la unidad del sistema operativo (C:\). Para obtener el mejor rendimiento, se recomienda conectar los discos de datos a una máquina virtual para conservar todos sus archivos de registro y datos. Además, se recomienda no almacenar ningún dato en la unidad de almacenamiento temporal (D:\) dado que no es persistente. Para obtener más información sobre cómo conectar discos en Azure, vea Conectar un disco de datos a una máquina virtual. Para obtener más información sobre cómo cambiar las ubicaciones predeterminadas de los nuevos archivos de registro y datos de SQL Server mediante SQL Server Management Studio, vea Ver o cambiar las ubicaciones predeterminadas de los archivos de datos y de registro.

En esta sección, aprenderá a crear una aplicación simple de ASP.NET en el equipo local y configurarlo para conectarse a una instancia de base de datos de SQL Server en una máquina virtual de Azure. En este ejemplo se usa el control GridView para permitirle insertar, actualizar y eliminar datos de una base de datos sin escribir código.

  1. En Visual Studio, en el menú Archivo, haga clic en Nuevo y seleccione Proyecto.

  2. En el cuadro de diálogo Agregar nuevo proyecto, en la lista Plantillas instaladas, seleccione Servicio en la nube de Azure para Visual C# o Visual Basic.

  3. Escriba EnlaceDeDatos como nombre y haga clic en Aceptar.

  4. En el cuadro de diálogo Nuevo servicio en la nube de Azure, seleccione Rol web de ASP.NET en la lista Roles de .NET Framework y, a continuación, haga clic en la flecha para agregarlo a la lista Solución de servicio en la nube de Azure. Haga clic en Aceptar. Con Visual Studio 2013, seleccione Web Forms en el Nuevo proyecto ASP.NET para WebRole. A continuación, haga clic en Aceptar.

  5. En Default.aspx, haga clic en Diseño para cambiar a la vista de diseño.

  6. Arrastre el control GridView desde el Cuadro de herramientas - Datos hasta la superficie de diseño.

  7. En la ventana Propiedades para la GridView, establezca AutoGenerateDeleteButton y AutoGenerateEditButton en true.

  1. En el Explorador de soluciones, en el proyecto Rol web, haga doble clic en Web.config.

  2. En Web.config, reemplace la etiqueta connectionStrings existente de la manera siguiente y modifíquela como sea necesario:

    <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>
    
    Cuando TrustServerCertificate se establece en true, se solicita que la capa de transporte use SSL para cifrar el canal y omita el paso de la cadena de certificados para validar la confianza. Para obtener más información, consulte Cifrar conexiones a SQL Server.

    WarningAdvertencia
    Asegúrese de actualizar tcp:SQLVMInternalIPAdress con la dirección IP interna de la nueva máquina virtual, como tcp:10.4.2.4. Además, asegúrese de actualizar la contraseña con la especificada para el inicio de sesión sqlvmlogin anterior.

    Al implementar el proyecto de Azure en una red virtual, no es necesario controlar la resolución de nombres entre instancias. Es decir, si implementa un rol Web que se conectará a SQL Server que se ejecuta en una máquina virtual de la misma red virtual, debe especificar la dirección IP del servidor SQL en el archivo web.config. Por eso se recomienda crear la máquina virtual de SQL Server para poder obtener la dirección IP interna de la máquina virtual para la aplicación Web.

  3. Para obtener la dirección IP de la máquina virtual, inicie sesión en el Portal de administración. Haga clic en Máquinas virtuales Linux. Haga clic en la nueva máquina virtual, SQLVM, para abrir su panel. Copie la dirección IP interna del archivo web.config según se muestra en el ejemplo anterior.

  4. En Default.aspx, haga clic en Origen para cambiar a la vista de código fuente.

  5. Agregue el código de marcas siguiente para crear un control SqlDataSource para la conexión en la etiqueta BodyContent en el archivo de código fuente 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>
    
    Esto incluye la lógica de SELECT, INSERT, UPDATE y DELETE para el control.

  6. En el archivo Default.aspx, cambie al modo Design. Haga clic en el control GridView que agregó recientemente. En la ventana Propiedades del control GridView, agregue los atributos siguientes al código del control GridView: DataSourceID="SQLServerDataSource" y DataKeyNames="Col1".

  7. Los desarrolladores pueden diseñar libremente las páginas ASP.NET en función de los requisitos de su aplicación. En este tutorial, cuando se utiliza Visual Studio 2013, puede modificar el código fuente de Default.aspx de la manera siguiente:

    <%@ 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. Agregue la etiqueta siguiente al archivo Web.config justo después de la etiqueta <compilation> en la etiqueta <system.web>:

    <customErrors mode="Off"/>
    
    De este modo se asegurará de que el seguimiento de pila de los mensajes de error se muestra al ejecutar esta aplicación.

  9. (Paso opcional) Si desea probar la aplicación en el entorno de desarrollo local on-premises, ejecute Visual Studio como administrador. A continuación, asegúrese de que la cadena de conexión señala a la instancia de la base de datos SQL Server local. Para pruebas local, cree la base de datos y la tabla de ejemplo en el servidor en local. A continuación, reemplace la etiqueta <connectionStrings> en el archivo Web.config como se muestra a continuación.

    <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>
    
    Además, actualice el atributo ConnectingString en el archivo de código fuente Default.aspx para señalar al servidor local como sigue:

    ConnectionString="<%$ ConnectionStrings:SQLServerLocalConnection %>"
    
    Después, presione F5 para ejecutar la solución.

Puede implementar una máquina virtual en una Red virtual de Azure en el Portal de administración. Sin embargo, actualmente, no puede especificar la configuración de red virtual para el proyecto de servicio en la nube de Azure a través del portal. Debe actualizar la configuración de red en el archivo .cscfg del paquete de implementación de Azure. En la solución, hay dos archivos de configuración de servicio:

  • ServiceConfiguration.Cloud.csfg: use este archivo de configuración para establecer la aplicación para la implementación en la nube de Azure.

  • ServiceConfiguration.Local.csfg: use este archivo de configuración local, que se puede utilizar para depurar la aplicación en el emulador de proceso.

  1. Para habilitar la comunicación entre el rol Web y la máquina virtual de SQL Server, debe configurar el rol Web para conectarse a la misma red virtual que la máquina virtual de SQL Server. Para ello, debe actualizar el archivo ServiceConfiguration.Cloud.cscfg. Expanda el proyecto en el Explorador de soluciones. Los archivos de configuración de servicio deben aparecer justo después de Roles en Visual Studio. Abra el archivo ServiceConfiguration.Cloud.cscfg y agregue el elemento siguiente NetworkConfiguration justo después de la última etiqueta Role.

    <NetworkConfiguration>
          <VirtualNetworkSite name="TestVirtualNetwork" />
          <AddressAssignments>
              <InstanceAddress roleName="WebRole1">
                 <Subnets>
                    <Subnet name="FrontEndSubnet" />
               </Subnets>
            </InstanceAddress>
       </AddressAssignments>
     </NetworkConfiguration>
    
    Tenga en cuenta que, si no especifica valores en las secciones de los elementos de Red virtual del archivo de configuración del servicio, el servicio en la nube no se implementará en una red virtual. Para obtener más información, vea Esquema de configuración de red. Si implementa su propio servidor DNS en la plataforma Azure, debe especificar el servidor DNS para las instancias de rol de trabajo o Web también en el archivo .csfg.

    WarningAdvertencia
    Asegúrese de que el Nombre de VirtualNetworkSite y el Nombre de subred coinciden con los nombres que haya utilizado anteriormente al crear la red virtual.

  2. Una vez establecidos los valores del archivo de configuración, abra la ventana del cuadro de diálogo Propiedad de rol para seleccionar qué configuración desea utilizar. Para ello, haga clic con el botón secundario en WebRole1 en el Explorador de soluciones. Abra la ventana Propiedades de WebRole1. Seleccione Configuración. En el cuadro Configuración de servicios, elija Nube.

  3. Presione F6 para compilar la solución.

    WarningAdvertencia
    Tener máquinas virtuales y roles de trabajo y Web de Azure en la misma red virtual de Azure proporciona una latencia baja y una conectividad más segura.

En esta sección, publicará una aplicación Web en Azure creando un paquete mediante Visual Studio. A continuación, usará el paquete para crear un servicio en la nube en la misma red virtual que usó para crear una máquina virtual de SQL Server anteriormente.

  1. Para publicar la aplicación Web de Azure, en el Explorador de soluciones de Visual Studio, haga clic con el botón secundario en el proyecto EnlaceDeDatos y seleccione Paquete.

  2. En la ventana del cuadro de diálogo Empaquetar aplicación de Azure, asegúrese de que Configuración de servicios está establecido en Nube y Configuración de compilación está establecido en Versión. A continuación, haga clic en el botón Empaquetar.

    WarningAdvertencia
    Si ve un error que indica que Visual Studio no puede sobrescribir la carpeta existente <carpeta de proyecto>\bin\release\app.publish, elimine los archivos de paquete existentes manualmente. Después, repita los dos pasos anteriores para crear un paquete nuevo.

  3. Inicie sesión en el Portal de administración.

  4. Haga clic en +NUEVO en la parte inferior de la página, seleccione CALCULAR, Servicio en la nube y, a continuación, Creación personalizada.

  5. En la ventana Crear un servicio en la nube, escriba EnlaceDeDatos en el cuadro de texto Dirección URL, seleccione TestAffinityGroup en la lista de selección Región/Grupo de afinidad y active la opción Implementar ahora un paquete de Servicios en la nube. Haga clic en la flecha siguiente para continuar.

  6. En la ventana Publicar su servicio en la nube, escriba un nombre para la nueva implementación (por ejemplo, EnlaceDeDatos). Vaya a la ubicación de los archivos de configuración y paquete (por ejemplo, <carpeta de proyecto>\bin\Release\app.publish) y active la opción Implementar aunque uno o varios roles contengan una sola instancia.

  7. Puede utilizar la casilla Agregar ahora certificados cuando desee proteger la aplicación mediante un cifrado SSL. Para obtener más información, vea Configurar SSL para una aplicación en Azure.

  8. Después, haga clic en el botón de la marca de verificación para completar el proceso. Observe que la creación de un servicio en la nube puede tardar unos minutos.

  9. Para ver todos los recursos de su red virtual, haga clic en REDES en el panel izquierdo. A continuación, haga clic en TestVirtualNetwork para abrir su panel.

  10. Para ejecutar la aplicación, haga clic en Servicios en la nube en el panel izquierdo. A continuación, haga clic en el servicio en la nube EnlaceDeDatos para abrir su panel. Haga clic en Dirección URL del sitio para ejecutar la aplicación.

  11. Si utiliza Visual Studio 2013 para compilar esta aplicación ASP.NET, debe aparecer la pantalla siguiente cuando se ejecute la aplicación.

WarningAdvertencia
Este tutorial no muestra cómo proteger el servicio en la nube mediante el cifrado SSL o los certificados de nivel de servicio. Recomendamos que siempre proteja su aplicación y sus cadenas de conexión.

Si desea proporcionar interacciones seguras para los usuarios de su servicio en la nube, utilice certificados de servicio. Si desea publicar el servicio en la nube desde Visual Studio en Azure directamente, utilice certificados de administración. Para obtener más información sobre los certificados, vea Administrar certificados en Azure. Para obtener más información sobre cómo configurar un certificado de servicio, vea Configurar SSL para una aplicación en Azure y Cómo configurar un certificado SSL en un extremo HTTPS.

También se recomienda implementar la aplicación empaquetada en un entorno de ensayo en Azure para probarla antes de pasarla al entorno de producción en el que la aplicación esté disponible en Internet. Para obtener más información, vea Ensayar una aplicación en Azure.

Vea también

Mostrar:
© 2014 Microsoft