viernes, 13 de enero de 2012

Como publicar una aplicación ASP.NET MVC3 en un IIS5

Esta mañana, en un pequeño desarrollo que estoy haciendo en ASP.NET MVC3 me he tropezado con un pequeño problema al publicar la aplicación en un Windows Small Business Server 2003. Este versión usa el IIS 5, y al publicar me tropecé con este error al acceder a la URL http://miaplicacion/home/index


El error básicamente es un error 404 debido a que el IIS no puede resolver las redirecciones que usa el ASP.NET MVC3 del tipo midominio.com/controladora/accion/parametos.

Los primero que hice fue comprobar que tanto el Framework 4.0 y el ASP.NET MVC3 estaban instalados en el servidor y tras comprobarlo no quedo más remedio que recurrir a San Google para buscar la solución al problema.

Me di cuenta que mi problema era bastante común y tras buscar un poco por varios foros encontre dos tipo soluciones

- En entornos donde no es posible acceder al IIS (por ejemplo en hosting contratados) lo mejor es modificar los ruteos que se configuran en el Global.asax. Esta solución no la probé pero hay varios ejemplos en Internet que dicen que ruta hay añadir.

- En caso donde tengamos acceso al IIS la solucion es bastante simple
  1. Hacemos click con la botón derecho sobre las 'Propiedades' de nuestro sitio web.
  2. En la pestaña 'Directorio' hacemos click en el botón que pone 'Configuración'.
  3. Seleccionamos la pestaña 'Asignaciones'
  4. Hacemos click en el botón 'Insertar'
  5. Pegamos la ruta hacia el fichero aspnet_isapi.dll en el campo que pone 'Ejecutable'. En mi caso la ruta  es 'c:\windows\microsoft.net\framework\v4.0.30319\aspnet_isapi.dll'. Se copia la ruta del mapeo de los ficheros .aspx.
  6. Desmarcamos el check que pone 'Comprobar si el archivo existe'.
  7. Le damos a 'Aceptar'


Hecho esto la aplicación funcionaba perfectamente, evitando tener que tocar las tablas de ruteo, aunque esto no es siempre posible.

Happy coding!

No hay comentarios:

Publicar un comentario