asp.net mvc 2 - ASP.NET MVC en IIS recae en el controlador de archivos estáticos
asp.net-mvc-2 iis-7 (4)
Tengo un problema con un sitio de ASP.NET MVC.
Estos son los detalles:
- ASP.NET MVC 2
- ASP.NET 4 pipeline integrado
- IIS 7.5 en Windows Web Server 2008 R2
Cada vez que hago una solicitud de la aplicación, aparece el error "HTTP Error 404.0 - No encontrado" y la información detallada del error muestra que es el controlador de archivos estáticos el que informa del error:
- Módulo: IIS Web Core
- Notificación: MapRequestHandler
- Controlador : StaticFile
- Código de error: 0x80070002
lo que significa que la solicitud nunca entró en la pila MVC.
Debo tener en cuenta que el IIS ya sirve un ASP.NET MVC 3 en el mismo grupo de aplicaciones y un MVC 2 en un grupo de aplicaciones ASP.ENT 2. Así que es el combo ASP.NET 2 en el grupo de aplicaciones ASP.NET 4 lo que me causa dolores de cabeza.
Básicamente, quiero actualizar la aplicación de ASP.NET MVC 2 en un grupo de aplicaciones ASP.NET 2.0 a un ASP.NET MVC 2 en un grupo de aplicaciones ASP.NET 4.0.
¿Alguna idea?
Así que encontré el error. Quedaba un documento predeterminado en la raíz, que no es necesario para las aplicaciones que utilizan la canalización integrada. También algunos cambios en Global.ascx y en el registro de rutas fueron necesarios, pero después de eso funcionó.
La respuesta de Chris me llevó a comprobar si el grupo de aplicaciones estaba realmente configurado para .net 4. Por supuesto, este servidor está predeterminado para crear grupos .net 2 de 32 bits en modo clásico.
Asegúrate de que tu aplicación esté usando 4.0 y probablemente querrás una tubería integrada para todos los nuevos desarrollos. 32/64 depende principalmente de sus dependencias. El valor predeterminado es dejar "permitir asignaciones de 32 bits" en falso.
Tuve el mismo problema cuando instalé IIS después de instalar Visual Studio, etc.
Pude solucionar el problema cambiando mi archivo Web.config, agregando runAllManagedModulesForAllRequests="true"
a la etiqueta <modules>
:
<system.webServer>
<modules runAllManagedModulesForAllRequests="true">
...
</modules>
</system.webServer>
(Más detalles / copiado desde aquí: http://www.west-wind.com/weblog/posts/2011/Mar/27/ASPNET-Routing-not-working-on-IIS-70 )
Veo que arreglaste tu problema, pero para cualquiera que esté en Google:
Tenía este problema y, en mi caso, solo necesitaba registrar ASP.NET 4 con IIS. Estaba eliminando y volviendo a agregar webs para solucionar otros problemas y simplemente me olvidé de hacerlo. El comando que funcionó para mí fue:
C:/Windows/Microsoft.NET/Framework64/v4.0.30319>aspnet_regiis -i
Su propia versión .net puede ser diferente, especialmente si está en el futuro, por lo que la ruta anterior puede no ser exactamente correcta.