Pregunta

Estoy luchando para sortear los errores 404 de asp.net mvc beta al implementar en IIS 6. Tenía esto funcionando en una de las vistas previas mapeando .mvc en IIS pero esto ya no funciona. He leído la publicación de Omar y varios otros en la web y probaron sus soluciones, pero hasta ahora no tuvimos suerte.

La página de inicio se abre sin problemas en IIS 6 pero en otros 404 y el sitio funciona bien en IIS 7.

¿Alguien ha implementado asp.net mvc beta en IIS 6 con éxito? Si es así, ¿qué ajustes tuvo que hacer en el código y / o la configuración de IIS para que funcione?

¿Fue útil?

Solución

Encontré una solución a mi problema en Blog de Steve Sanderson (Gracias Steve):

Utilice una asignación de comodines para aspnet_isapi.dll. Esto le dice a IIS 6 que procese todas las solicitudes usando ASP.NET, por lo que siempre se invoca el enrutamiento, y no hay ningún problema. Es & # 8217; es muy fácil de configurar:

  • abra el administrador IIS (ejecute - > inetmgr - > OK)
  • haga clic derecho en su aplicación, vaya a Propiedades
  • luego la pestaña Directorio de inicio, luego haga clic en Configuración.
  • En Mapas de aplicación de comodines, haga clic en Insertar (no en Agregar, que es confusamente justo arriba)
  • luego ingrese C: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 \ aspnet_isapi.dll para & # 8220; Ejecutable & # 8221 ;, y desmarque Verificar que el archivo existe.

Otros consejos

Parece que todavía no puedo escribir comentarios. Entonces escribiré una nueva respuesta.

Hay algunas preguntas similares en stackoverflow. Estoy usando MVC 3. Sé que la pregunta estaba relacionada con MVC 2. Pero como esta es la primera publicación de stackoverflow en la que me topé, creo que vale la pena mencionar que:

  • cuando usa MVC 3, necesita agregar una nueva asignación de extensión con el ejecutable del marco .NET 4 (C: \ WINDOWS \ Microsoft.NET \ Framework \ v4.0.30319 \ aspnet_isapi.dll)

< edit > acabo de descubrir que ni siquiera necesito configurar el mapeo de extensión. < / edit >

  • Todavía no funcionó para mí entonces :) Todavía tenía que 'Permitir' ASP.NET v4.0.30319 en la sección Extensiones de servicio web en IIS:
    • abrir IIS
    • haga clic en el nodo del servidor
    • abra la sección Extensiones de servicio web
    • seleccione ASP.NET v4.0 ....
    • clic derecho - > Permitir ¡Bien hecho!

La reescritura de URL puede ayudarlo a resolver el problema. Implementé una solución que permite implementar la aplicación MVC en cualquier versión de IIS, incluso cuando se utiliza alojamiento virtual. http://www.codeproject.com/KB/aspnet/ iis-aspnet-url-rewriting.aspx

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top