IIS 8.0 con ASP.NET 3.5 y ASP.NET 4.5

por Won Yoo

Compatibilidad

Versión Notas
IIS 8.0 ASP.NET 3.5 y ASP.NET 4.5 se admiten en IIS 8.0.
IIS 7.5 ASP.NET 3.5 y ASP.NET 4.5 se admiten en IIS 7.5.
IIS 7.0 ASP.NET 3.5 y ASP.NET 4.5 se admiten en IIS 7.0.

Problema

Windows Server 2012 incluye .NET Framework 4.5 de forma predeterminada, así como la instalación opcional de .NET Framework 3.5. Los desarrolladores suelen tener que ejecutar aplicaciones web mixtas en varias versiones de .NET Framework.

Solución

IIS 8.0 en Windows Server 2012 ejecuta aplicaciones de ASP.NET en todas las versiones de .NET Framework compatibles con Windows Server 2012. Esto significa que se pueden ejecutar aplicaciones de ASP.NET en IIS 8.0 mediante .NET Framework 3.5 o .NET Framework 4.5. IIS 8.0 hospeda versiones de .NET Framework en diferentes grupos de aplicaciones, lo que permite que varias aplicaciones de ASP.NET con diferentes versiones de .NET Framework se ejecuten simultáneamente en Windows Server 2012.

IIS 8.0 también admite la administración de aplicaciones de ASP.NET 3.5 y ASP.NET 4.5 con la herramienta gráfica Administrador de IIS, así como con las herramientas de administración de línea de comandos de IIS. Para más información, consulte el artículo Administración de la configuración de IIS 8.0 en ASP.NET.

Habilitación de la autenticación de Azure Active Directory Domain Services en Azure Files

Requisitos previos

Configuración de IIS 8.0 con compatibilidad con ASP.NET 3.5 y ASP.NET 4.5

En Windows Server 2012, el sistema operativo reconoce de forma nativa tanto .NET Framework 3.5 como .NET Framework 4.5. Esto significa que se puede usar tanto la configuración basada en la interfaz de usuario como la basada en la línea de comandos para activar ambas versiones de .NET Framework, así como habilitar la integración de ambas versiones de ASP.NET con IIS 8.0.

En este tutorial usaremos la nueva interfaz de usuario del Administrador del servidor en Windows Server 2012 Server para demostrar cómo habilitar ASP.NET 3.5 y ASP.NET 4.5 en IIS 8.0.

  1. Cuando inicie sesión por primera vez en una nueva máquina con Windows Server 2012, se mostrará la nueva interfaz de usuario del Administrador del servidor. Haga clic en Agregar roles como se muestra a continuación:
    Captura de pantalla del nuevo Administrador del servidor U I con los roles agregados resaltados.

  2. En la primera pantalla del Asistente para agregar roles y características, haga clic en Siguiente. Se muestra una página en la que se selecciona el tipo de instalación deseada. Elija la instalación Basada en roles o Basada en características, como se muestra a continuación:
    Captura de pantalla del Asistente para agregar roles y características con la opción de instalación basada en roles o basada en características resaltada.

  3. Haga clic en Siguiente. La siguiente pantalla del asistente le pide que elija el servidor que está configurando.

  4. En el siguiente paso del asistente, se le pedirá que seleccione uno o varios roles de servidor. Desplácese hacia abajo en la lista Roles y asegúrese de activar la casilla Servidor web (IIS), como se muestra a continuación:
    Captura de pantalla de la lista Roles de servidor del Asistente para agregar roles y características con el servidor web I S activado y resaltado.

  5. Haga clic en Siguiente para continuar con el paso siguiente, que le permite seleccionar características específicas adicionales para instalar en el servidor. De nuevo, haga clic en Siguiente y vaya al paso siguiente.

  6. El siguiente paso del asistente muestra información introductoria sobre el rol Servidor web (IIS). De nuevo, haga clic en Siguiente y vaya al paso siguiente. Ahora debería estar en un paso del asistente similar al siguiente:
    Captura de pantalla de la lista Servicios de rol para seleccionar e instalar en el servidor web I I S con la herramienta de administración resaltada.

  7. Tenga en cuenta que ya se ha activado varias subcaracterísticas predeterminadas para IIS porque anteriormente seleccionó el rol de servidor Servidor web (IIS). Sin embargo, queremos permitir que tanto ASP.NET 3.5 como ASP.NET 4.5 se ejecuten en IIS 8.0, por lo que es necesario habilitar algunas características adicionales relacionadas con IIS. Desplácese hacia abajo en la lista Servicios de rol hasta que se muestre el nodo Desarrollo de aplicaciones. Este nodo está contraído inicialmente, así que haga clic en él y expándalo para que se muestren sus elementos secundarios:
    Captura de pantalla de la lista Servicios de rol con el nodo Desarrollo de aplicaciones resaltado.

  8. El nodo Desarrollo de aplicaciones es donde habilitamos la integración de ASP.NET con IIS. Tenga en cuenta que hay algunas casillas en la lista de características con nombres similares. El par de casillas que son de interés para este tutorial son:

    • ASP.NET 3. 5: esta opción permite que ASP.NET 3.5 se ejecute en IIS 8.0. Tenga en cuenta que con Windows Server 2012, .NET Framework 3.5 no está disponible como parte de la imagen base del sistema operativo. En cambio, la carga se descarga de Internet y usted debe conectarse a Internet.
    • ASP.NET 4.5: esta opción permite que ASP.NET 4.5 se ejecute en IIS 8.0.
  9. En primer lugar, active la casilla ASP.NET 3.5. Al hacerlo, aparecerá un cuadro de diálogo adicional como se muestra a continuación:
    Captura de pantalla del cuadro de diálogo con la pregunta de Agregar características necesarias para un punto S P NET 3 punto 5.

  10. Dado que ASP.NET 3.5 está integrado en la configuración de Windows Server 2012, este sistema operativo conoce todas las dependencias relacionadas necesarias para habilitar ASP.NET 3.5 en IIS 8.0. Este cuadro de diálogo emergente solo muestra lo que se extraerá e instalará automáticamente. Como queremos tener habilitado ASP.NET 3.5, haga clic en Agregar características obligatorias.

  11. A continuación, active la casilla ASP.NET 4.5 en la lista de características Servicios de rol. A continuación se muestra el resultado final de hacer clic en ambas casillas relacionadas con ASP.NET:
    Captura de pantalla de la lista de características de Servicios de rol con un punto S P NET 4 punto 5 activado y resaltado.

  12. Aunque solo haya seleccionado directamente las características ASP.NET 3.5 y ASP.NET 4.5, el asistente activa automáticamente varios otros elementos. Esta acción se realiza automáticamente para que los desarrolladores no tengan que elegir explícitamente las distintas partes componentes necesarias para el "ensamblado" de ASP.NET en Windows Server 2012. En este punto, haga clic en Siguiente para aceptar los cambios.

  13. Si acepta los cambios, el paso Confirmar selecciones de instalación muestra una lista de todas las características instaladas.
    Captura de pantalla de Confirmar selecciones de instalación que muestran una lista de todas las características que se instalan si los cambios aceptados con confirmación resaltados.

  14. En este punto, haga clic en Instalar para aceptar los cambios e instalar la compatibilidad completa con ASP.NET en Windows Server 2012.

  15. Dado que la instalación tardará una pequeña cantidad de tiempo en completarse, el asistente muestra un cuadro de diálogo de progreso mientras progresa la instalación:
    Captura de pantalla del cuadro de diálogo Progreso de la instalación que muestra el progreso de la tarea con el elemento Resultados resaltado.

  16. Al cabo de unos minutos, el asistente muestra que la instalación se ha completado:
    Captura de pantalla del progreso de la instalación que muestra que la instalación se realizó correctamente en el Asistente para agregar roles y características.

  17. En este punto, puede hacer clic en Cerrar y salir del asistente.

Exploración de la instalación de IIS 8.0

Con la integración de IIS 8.0 y ASP.NET instalada, podemos echar un vistazo a la superficie básica de ASP.NET para IIS 8.0.

  1. En el menú Inicio de Windows, seleccione Todos los programas y, luego, expanda el menú Herramientas administrativas. En la lista resultante, busque Administrador de Internet Information Services (IIS) y selecciónelo para iniciar la herramienta gráfica de administración de IIS:
    Captura de pantalla del menú Herramientas de Administración istrative expandida con Internet Information Services I S Manager resaltado.

  2. Una vez que se inicie el Administrador de IIS, expanda el nodo de servidor en la ventana izquierda para que se muestre tanto el nodo Grupos de aplicaciones como el nodo Sitios. Al hacerlo, el Administrador de IIS mostrará un cuadro de diálogo que le pregunta si quiere permanecer conectado con los componentes de plataforma web más recientes. Para los fines de este tutorial, puede hacer clic en No. En este momento, el Administrador de IIS tiene el siguiente aspecto:
    Captura de pantalla de I I S Manager en la que se muestra el nodo Grupos de aplicaciones y el nodo Sitios expandidos con el Instalador de plataforma web resaltado.

  3. Haga clic en el nodo Grupos de aplicaciones para mostrar los grupos de aplicaciones que ahora se han instalado para su uso por IIS 8.0:
    Captura de pantalla del nodo Grupos de aplicaciones con la lista de grupos de aplicaciones instalados para su uso por I S 8 punto 0.

  4. Puede ver que se crean seis grupos de aplicaciones diferentes de forma predeterminada cuando ASP.NET 3.5 y ASP.NET 4.5 están habilitados para IIS 8.0. Cuatro de las aplicaciones son nuevas para IIS 8.0, mientras que otros dos grupos de aplicaciones se han mantenido de versiones anteriores de Windows.

    • Tenga en cuenta que, aunque la columna Versión de .NET Framework muestra "v2.0" y "v4.0" como versiones de .NET Framework, estas equivalen a ASP.NET 3.5 y ASP.NET 4.5. Debido a los aspectos internos de cómo los grupos de aplicaciones se enlazan con las versiones de .NET Framework, el nombre de la versión real escrito en la configuración (y por lo tanto mostrado en la herramienta) corresponde a la versión original del archivo de .NET Framework.
    • Classic .NET AppPool y DefaultAppPool existían en versiones anteriores de Windows y, por tanto, se siguen creando para IIS 8.0. Sin embargo, tenga en cuenta que, dado que .NET Framework 4.5 es la versión predeterminada de .NET Framework que se usa en Windows Server 2012, "DefaultAppPool" en IIS 8.0 también usa de forma predeterminada la versión más reciente de .NET Framework.
    • Los otros cuatro grupos de aplicaciones son nuevos en Windows Server 2012. Hay dos grupos de aplicaciones para ejecutar .NET Framework 3.5 (.NET v2.0 y .NET v2.0 clásico) y dos grupos de aplicaciones para ejecutar .NET Framework 4.5 (.NET Framework 4.5 y .NET Framework 4.5 clásico).
    • La diferencia entre los grupos de aplicaciones "clásico" y "no clásico" es el modo de canalización administrado admitido en cada tipo de grupo de aplicaciones. Los dos grupos de aplicaciones que terminan en "clásico" admiten el modo de canalización clásico de la era de Windows Server 2003 para ASP.NET, mientras que los otros dos grupos de aplicaciones usan el modo de canalización integrado más reciente para ASP.NET introducido en Vista/IIS7.0.
  5. Para explorar un poco más, expanda el nodo Sitios en el lado izquierdo de la pantalla para que el nodo Sitio web predeterminado esté visible:
    Captura de pantalla de Sitios expandidos con el nodo Sitio web predeterminado resaltado.

  6. Las instalaciones predeterminadas de IIS siempre tienen configurado un "sitio web predeterminado" para escuchar las solicitudes HTTP en el puerto 80. Explore en profundidad el "Sitio web predeterminado" para ver qué versión de ASP.NET admite de forma predeterminada. Haga clic con el botón derecho en Sitio web predeterminado, seleccione Administrar sitio web y elija Configuración avanzada, como se muestra a continuación:
    Captura de pantalla de Inicio del sitio web predeterminado con Administrar sitio web y Advanced Configuración seleccionado y resaltado.

  7. Aparece el cuadro de diálogo Configuración avanzada, que muestra (entre otras cosas) el grupo de aplicaciones usado para ejecutar el "Sitio web predeterminado". Como se muestra en la imagen siguiente, el "Sitio web predeterminado" se ejecuta en el grupo de aplicaciones llamado "DefaultAppPool":
    Captura de pantalla del cuadro de diálogo Avanzadas Configuración en la que se muestra el grupo de aplicaciones y el grupo de aplicaciones predeterminado resaltado.

  8. Si hace clic en el pequeño botón de puntos suspensivos en el lado derecho del grupo de aplicaciones, aparece un cuadro de diálogo adicional que muestra más información sobre "DefaultAppPool". Como se indicó anteriormente, "DefaultAppPool" toma como valor predeterminado ASP.NET 4.5 para IIS 8.0, por lo que las aplicaciones de ASP.NET 4.5 implementadas en el "Sitio web predeterminado" funcionarán sin ninguna configuración adicional.
    Captura de pantalla del cuadro de diálogo Seleccionar grupo de aplicaciones que muestra el grupo de aplicaciones predeterminado y sus propiedades en el grupo de aplicaciones.

  9. En este punto, haga clic en Cancelar para cancelar tanto el cuadro de diálogo Seleccionar grupo de aplicaciones como el cuadro de diálogo Configuración avanzada.

Ejecución de aplicaciones de ASP.NET 3.5 y ASP.NET 4.5

Ahora que ha explorado el estado de instalación de IIS 8.0, pruebe a ejecutar código de ejemplo de ASP.NET para confirmar que las aplicaciones de ASP.NET 3.5 y ASP.NET 4.5 se pueden ejecutar simultáneamente en una sola instalación de IIS 8.0.

El código de ejemplo para ASP.NET 3.5 y ASP.NET 4.5 se incluye en el ZIP siguiente:

Captura de pantalla de ejemplos de archivo ZIP de puntos.

En primer lugar, configure una aplicación simple de ASP.NET 3.5 en IIS 8.0:

  1. Abra el archivo "examples.zip".

  2. En el Explorador de Windows de la máquina con Windows Server 2012, vaya al directorio "wwwroot" de la instalación de IIS. Por ejemplo, si instaló IIS en la unidad C:\, el directorio "wwwroot" estará en c:\inetpub\wwwroot.

  3. Copie la carpeta "example35" de "examples.zip" y péguela en el directorio c:\inetpub\wwwroot. Cuando haya terminado, la estructura de directorios debe ser similar a la siguiente:
    Captura de pantalla del directorio local en la unidad de C con la carpeta de ejemplo 35 resaltada.

  4. La carpeta "example35" recién creada debe configurarse como una aplicación de ASP.NET 3.5 en el Administrador de IIS. Vuelva a la ventana Administrador de IIS, haga clic en el nodo Sitio web predeterminado y seleccione Actualizar. La vista de árbol de los nodos secundarios en Sitio web predeterminado ahora muestra la carpeta "example35":
    Captura de pantalla de la vista de árbol de los nodos secundarios en el nodo sitio web predeterminado con la carpeta de ejemplo 35 resaltada.

  5. Haga clic con el botón derecho en la carpeta example35 y seleccione Convertir en aplicación:
    Captura de pantalla de la carpeta de ejemplo 35 en la que se hizo clic con el botón derecho y la opción Convertir en aplicación seleccionada y resaltada.

  6. Aparece el cuadro de diálogo Agregar aplicación. De forma predeterminada, todos los directorios de Sitio web predeterminado forman parte del grupo de aplicaciones llamado DefaultAppPool. Esto significa que las carpetas recién creadas que contienen ASP.NET se ejecutan como aplicaciones de ASP.NET 4.5 de forma predeterminada.
    Captura de pantalla del cuadro de diálogo Agregar aplicación con el grupo de aplicaciones predeterminado y el grupo de aplicaciones predeterminados que se muestran junto al botón Seleccionar resaltado.

  7. Dado que queremos ejecutar la carpeta example35 como una aplicación de ASP.NET 3.5, es necesario cambiar el grupo de aplicaciones. Haga clic en Seleccionar y en el cuadro de diálogo Seleccionar grupo de aplicaciones que aparece. Cambie el grupo de aplicaciones a .NET v2.0, como se muestra a continuación:
    Captura de pantalla del cuadro de diálogo Seleccionar grupo de aplicaciones con punto NET v 2 punto 0 en la barra de menús resaltada.

  8. Haga clic en el botón Aceptar para aceptar el cambio del grupo de aplicaciones y, a continuación, haga clic en Aceptar de nuevo para confirmar los cambios en IIS. La ventana Administrador de IIS vuelve a aparecer. En la vista de árbol que muestra "Sitio web predeterminado", el icono de "example35" cambia para indicar que ahora es una aplicación de ASP.NET distinta.
    Captura de pantalla de la vista de árbol sitio web predeterminado que muestra el sitio web predeterminado y el icono resaltado por ejemplo 35 carpeta que se ha cambiado.

  9. En este punto, inicie una instancia de Internet Explorer y vaya a la siguiente dirección URL:

    http://localhost/example35

    Después de una breve pausa, la aplicación muestra una lista de características de .NET Framework admitidas en esta aplicación.

  10. En el Explorador de Windows, si va al directorio c:\inetpub\wwwroot\example35, puede usar el Bloc de notas para ver el código de "default.aspx" y la información de "web.config". Por ejemplo, el contenido de web.config incluye directivas que configuran los compiladores de .NET Framework para que se ejecuten en modo "3.5". El código de .NET Framework de "default.aspx" muestra algunas construcciones de C# que se introdujeron en .NET 3.5, específicamente consultas LINQ-to-Object.

Ahora que hay una aplicación de ASP.NET 3.5 en ejecución, puede crear una segunda aplicación de ASP.NET, pero esta vez configúrela para usar .NET Framework 4.5.

  1. Vuelva a la ventana del Explorador de Windows que tiene abierto el archivo .zip "examples.zip".

  2. Abra el contenido de la carpeta "example45".

  3. En la segunda ventana del Explorador de Windows que tiene abierta, vaya a c:\inetpub\wwwroot.

  4. Copie el archivo "default.aspx" del archivo .zip y péguelo directamente en c:\inetpub\wwwroot. El contenido de la carpeta de c:\inetpub\wwwroot ahora debería tener el siguiente aspecto:
    Captura de pantalla de las carpetas de unidad C del disco local con el punto predeterminado un archivo s p x resaltado.

  5. Ahora vuelva a Internet Explorer y vaya a la siguiente dirección URL:

    http://localhost/default.aspx

    Después de una breve pausa, un segundo grupo de aplicaciones comenzará a ejecutar una aplicación de ASP.NET 4.5 para el "Sitio web predeterminado". El explorador muestra de nuevo una lista de características de .NET Framework admitidas en esta aplicación con una nueva entrada al final de la lista para variables con tipo dinámico (es decir, la palabra clave dynamic introducida en .NET Framework 4.0/4.5). Observe que, a diferencia de la aplicación "example35" que requería entradas especiales de web.config, no fue necesario ningún archivo web.config para configurar y ejecutar la página "default.aspx" en el "Sitio web predeterminado". Esto se debe a que .NET Framework 4.5 es la instancia de .NET Framework predeterminada que usan las aplicaciones de ASP.NET en IIS 8.0 y, como resultado, no se requiere ninguna configuración adicional.

  6. Si usa el Bloc de notas para abrir la página "default.aspx" que acaba de copiar, también verá algunos cambios en comparación con la versión del directorio "example35". No hay directivas de espacio de nombres en la parte superior de la página, ya que .NET Framework 4.5 es el valor predeterminado en IIS 8.0. El código de la página muestra el uso de una variable dynamic, que es un concepto de compilador introducido en .NET Framework 4.0/4.5.

Resumen

IIS 8.0 admite la ejecución de aplicaciones de ASP.NET 3.5 y ASP.NET 4.5 en la misma máquina usando grupos de aplicaciones diferentes para hospedar cada versión de .NET Framework. IIS 8.0 admite varias versiones de .NET Framework, lo que permite a los desarrolladores y administradores aprovechar al máximo IIS 8.0, a la vez que se mantiene la compatibilidad con versiones anteriores con aplicaciones web que permanecen desde Windows Server 2008 R2.