none
Configuración del IIS en rutas relativas RRS feed

  • Pregunta

  •  Saludos cordiales

    Estimados, el motivo de esta consulta es porque tengo un problema tengo una aplicación web en asp.net forms lo he publicado en un hosting somee.com de hecho va super bien, con el acceso a los css y   handlers por ejemplo:

            url: "../../Handlers/hand01Usuario.ashx"

    Sin embargo lo quise publicar en mi maquina localmente, por motivos practicos ya que el servidor es gratuito pero algo lento....entonces surge el problema que el iIS de mi maquina con Win 8.1 no puede resolver las rutas provocando errores 404 de recursos no encontrado, la solución seria poner en la llamadas de Ajax de jquery y referencias de los css con una ruta absoluta de hecho si funciona si pongo como url http://localhost/SIP/Handlers/hand01Usuario.ashx, pero el problema es que todos mi forms están como relativas y de hecho funcionan muy bien al momento de depurar y en el servidor somee.com, pero localmente en mi IIS, no funciona he tratado de habilitar las rutas primarias, o incluso convetir los directorios en virtuales, no se que mas hacer, hay una forma de configurar este caso. Por favor estaría muy agradecido con una respuestas de su parte

    Agradeciendo de antemano la atención prestada

    Adrian Wong M.

            url:

    "../../Handlers/hand01Usuario.ashx",


    Adrian Wong M

    sábado, 1 de marzo de 2014 14:22

Respuestas

  • Si realmente todas las rutas están como relativas, te debería funcionar bien. El problema surge cuando tienes alguna que NO es relativa. Por ejemplo, si en algún sitio se te ha escapado una llamada a "/handlers/algo.ashx", funciona bien en desarrollo porque te rueda la aplicación (por ejemplo) en "localhost:12345/", y las rutas absolutas las encuentra bien (al igual que las relativas). Lo mismo pasa en el servidor externo si tu aplicación se instala en la raíz del sitio. Pero en el IIS local, típicamente la instalas en "localhost/Directorio". Eso implica que si accedes al "/handlers/algo.ashx", te lo busca como "localhost/handlers/algo.ashx", pero claro, tú lo has instalado en "localhost/Directorio/handlers/algo.ashx", y por eso no lo encuentra. Con las rutas relativas, en cambio, sí que funciona si está bien escrita la ruta.

    El remedio es instalar la aplicación en la raíz del IIS local. Si no puedes tocar la raíz de tu IIS (porque tienes otra aplicación ahi instalada), un truco para poderlo probar consiste en crear otro sitio web en un puerto distinto (por ejemplo, 8080) y cargar la aplicación en la raíz de ese nuevo sitio.

    • Marcado como respuesta adri1987 domingo, 2 de marzo de 2014 13:39
    • Desmarcado como respuesta adri1987 domingo, 2 de marzo de 2014 13:39
    • Marcado como respuesta adri1987 domingo, 2 de marzo de 2014 13:39
    domingo, 2 de marzo de 2014 7:31

Todas las respuestas

  • Si realmente todas las rutas están como relativas, te debería funcionar bien. El problema surge cuando tienes alguna que NO es relativa. Por ejemplo, si en algún sitio se te ha escapado una llamada a "/handlers/algo.ashx", funciona bien en desarrollo porque te rueda la aplicación (por ejemplo) en "localhost:12345/", y las rutas absolutas las encuentra bien (al igual que las relativas). Lo mismo pasa en el servidor externo si tu aplicación se instala en la raíz del sitio. Pero en el IIS local, típicamente la instalas en "localhost/Directorio". Eso implica que si accedes al "/handlers/algo.ashx", te lo busca como "localhost/handlers/algo.ashx", pero claro, tú lo has instalado en "localhost/Directorio/handlers/algo.ashx", y por eso no lo encuentra. Con las rutas relativas, en cambio, sí que funciona si está bien escrita la ruta.

    El remedio es instalar la aplicación en la raíz del IIS local. Si no puedes tocar la raíz de tu IIS (porque tienes otra aplicación ahi instalada), un truco para poderlo probar consiste en crear otro sitio web en un puerto distinto (por ejemplo, 8080) y cargar la aplicación en la raíz de ese nuevo sitio.

    • Marcado como respuesta adri1987 domingo, 2 de marzo de 2014 13:39
    • Desmarcado como respuesta adri1987 domingo, 2 de marzo de 2014 13:39
    • Marcado como respuesta adri1987 domingo, 2 de marzo de 2014 13:39
    domingo, 2 de marzo de 2014 7:31
  • Saludos cordiales Sr. Alberto, millón gracias por la respuesta y mil disculpas por no darme cuenta lo de subdirectorio, efectivamente su respuesta funciono de maravilla pues instale en la raíz del IIS y funciono. Me falto probar otro sitio con otro puerto. Pero gracias a usted he resuelto esta gran duda.

    Buen día


    Adrian Wong M

    domingo, 2 de marzo de 2014 13:43