Donde está la pestaña de ASP.NET del IIS ???

Me encontraba yo instalando una aplicación Web ASP.NET 2.0 en Windows Server 2003 y al abrir el administrador del IIS no vi la pestaña de selección de la versión de ASP.NET. Lo primero que pensé fue que no tenía instalado el Microsoft Framework 2.0 o que tendría que reinstalarlo con Aspnet_regiis.exe para que apareciera la tan querida pestaña.

 

Pero mi sorpresa aún fue mayor cuando descubrí que el servidor si tenía instalado el Framework 2.0, pero no solo eso, sino que también tenia la versión de 64bits, uff!!

 

Mi primera instalación en un servidor de 64 y ya comenzamos mal.


 



 


Después de navegar un poco por la red en busca de información sobre como solucionar mi problema vi soluciones muy rudimentarias como modificar el registro de Windows para trabajar con la versión correcta.

 

Finalmente parece que el soporte de Microsoft ha facilitado unas cuantas posibilidades para solucionar este bug del IIS en el servidor de 64bits.

 Cómo cambiar entre las versiones de 32 bits de ASP.NET 1.1 y la versión de 64 bits de ASP.NET 2.0 en una versión de 64 bits de Windows. 

Mi problema finalmente se ha solucionado haciendo correr ASP.NET con la versión 32bits en el servidor.

 

  1. Escriba el comando siguiente para habilitar el modo de 32 bits:
 cscript %SYSTEMDRIVE%inetpubadminscriptsadsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 1 

  1. Escriba el comando siguiente para instalar la versión de ASP.NET 2.0 (32 bits) e instalar las asignaciones de secuencias de comandos en la raíz de IIS y más abajo:
 %SYSTEMROOT%Microsoft.NETFrameworkv2.0.50727aspnet_regiis.exe -i  

  1. Asegúrese de que el estado de ASP.NET versión 2.0 (32 bits) es Permitido en la lista Extensión de servicio Web, en el Administrador de Servicios de Internet Información Server.
 

Proyecto ASP.Net 2.0 32bits funcionando correctamente en un servidor de 64bits!!

 

Saludos.


 


Crosposting de http://www.lonetcamp.com


 


 


 


 

5 comentarios en “Donde está la pestaña de ASP.NET del IIS ???”

  1. Aunque esto “funciona” no entiendo como microsoft no lo soluciona. Para que tanto 64 bits para luego funcionar sobre 32 ? si existe una version de Framework 2.0 a 64bits porque el IIS no funciona correctamente con ella cuando la maquina es 64 bits y el OS tambien ? ademas de no aprovechar bien nuestros recursos, nos hacen perder tiempo implementado parches de este tipo…

  2. Como hacer que convivan ASP.NET 1.1 y ASP.NET 2.0 en una versión de 64 bits de Windows

    Es posible hacer que convivan aplicaciones web de distintas versiones de Framework en un mismo servidor, solo hay que indicarle a través de la solapa ASP.NET de la aplicación web que versión de framework debe utilizar.

    Pero en el caso de que esto se produzca en un servidor de 64 bits de Windows, no importa todo lo que uno pueda hacer, esta solapa jamás aparece por lo que no hay manera de definir que framework debe utilizar cada aplicación.

    Entonces como se soluciona esto…

    Supongamos que necesitamos que en nuestro servidor necesitamos tener algunas aplicaciones web que utilicen la versión ASP.NET 1.1 (v1.1.4322) y otras la versión ASP.NET 2.0 (v2.0.50727)

    Para eso descargamos los paquetes redistribuibles siguientes:

    • El paquete redistribuible .NET Framework versión 1.1
    (http://www.microsoft.com/downloads/details.aspx?displaylang=es&FamilyID=262d25e3-f589-4842-8157-034d1e7cf3a3)
    • El paquete redistribuible x64 (64 bits) de .NET Framework versión 2.0
    (http://www.microsoft.com/downloads/details.aspx?familyid=B44A0000-ACF8-4FA1-AFFB-40E78D788B00&displaylang=es) (*)

    (*) El paquete redistribuible x64 (64 bits) de .NET Framework versión 2.0 contiene los entornos de tiempo de ejecución de 64 bits y 32 bits

    1. Instale ambos paquetes redistribuibles
    2. Haga clic en Inicio y en Ejecutar, escriba cmd y haga clic en Aceptar.
    3. Escriba el comando siguiente para habilitar el modo de 32 bits:
    cscript %SYSTEMDRIVE%inetpubadminscriptsadsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 1
    4. Escriba el comando siguiente para registrar la versión de ASP.NET 1.1 y registrar las asignaciones de secuencias de comandos en la raíz de IIS y por debajo de esta:
    %SYSTEMROOT%Microsoft.NETFrameworkv1.1.4322aspnet_regiis.exe -i
    5. Escriba el comando siguiente para registrar la versión de ASP.NET 2.0 SIN registrar las asignaciones de secuencias de comandos en la raíz de IIS ni por debajo de esta:
    %SYSTEMROOT%Microsoft.NETFrameworkv2.0.50727aspnet_regiis.exe -ir (**)
    (**) Si utilizáramos la opción -i registraría la versión 2.0 y actualizaría las asignaciones de secuencia de comandos en la raíz y por debajo de esta a la versión 2.0
    6. Asegúrese de que el estado de ASP.NET versión 1.1.4322 y ASP.NET v2.0.50727 (32-bit) es Permitido en la lista Extensión de servicio Web en el Administrador de Servicios de Internet Information Server

    En estas condiciones si bien tenemos 2 versiones de framework registradas, todos los sitios web definidos hasta el momento utilizan la versión 1.1
     Si ejecutamos %SYSTEMROOT%Microsoft.NETFrameworkv2.0.50727aspnet_regiis.exe -lv podemos ver las versiones de framework registradas con indicación de cuál es la definida en ROOT
     Si ejecutamos %SYSTEMROOT%Microsoft.NETFrameworkv2.0.50727aspnet_regiis.exe -lk podemos ver todas las claves de metabases de IIS para las que ASP.NET tiene mapas de secuencias de comandos, así como la versión.

    Para indicarle a IIS que un sitio web en particular va a utilizar la versión 2.0 lo hacemos ejecutando aspnet_regiis.exe de la versión 2.0 indicando que dicho registro será efectivo solo para esa aplicación en particular
    %SYSTEMROOT%Microsoft.NETFrameworkv2.0.50727aspnet_regiis.exe -s W3SVC/1/ROOT/WebApp1 (***)
    (***) W3SVC/1/ROOT/WebApp1 es la ruta de acceso de la aplicación en cuestión

    Luego de esto si queremos correr esta aplicación que corre bajo la versión 2.0 nos vamos a encontrar con el mensaje
    Server Application Unavailable

    ¿Por qué sucede esto?

    Resulta que el IIS 6 permite una característica llamada Application Pool.
    Esta permite aislar los procesos en los que corren nuestras aplicaciones, de manera que si ocurre un error con alguno, no afecta a los demás que no corran en el mismo application pool.
    Como dijimos anteriormente IIS permite que varias versiones del framework vivan y se ejecuten felices en el mismo servidor, pero no en el mismo proceso (es decir, en el mismo application pool).
    Por lo que debemos crear un nuevo application pool en el servidor para cada framework e indicarle a cada aplicación que application pool utilizar

    http://support.microsoft.com/kb/894435
    http://www.developer.com/net/asp/article.php/2245511/IIS-and-ASPNET-The-Application-Pool.htm
    http://ceroentrecero.com/server-application-unavailable%C2%A1-application-pool-en-iis/

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *