none
problema con path de webservice RRS feed

  • Pregunta

  • Hola,monté un webservice en una pequeña red, en él configuré un AppSettings path="xslt\archivo.xslt" que es leído por la funcion del webservice,ya está iniciado y accedo desde pc cliente, pero ahora que lo habilité en otro equipo; en la misma ruta(c:\directorio\webservice) aquí se encuentran mis archivos, el detalle es que ahora cuando invoko al metodo:

    variable.MetodowebService(path,param1,param2)

    me marca un error: "System.IO.DirectoryNotFoundException: No se puede encontrar una parte de la ruta de acceso 'c:\windows\system32\inetsrv\xslt\archivo.xslt".

    Lo que no entiendo es porque busca la carpeta de system32\inetsrv, se supone debe leer del directorio de instalacion,pues mi web.config dice path="xslt\archivo.xslt"


    La programacion en Microsoft cada ves se torna inalcanzable

    miércoles, 27 de enero de 2016 1:21

Respuestas

  • Lo que no entiendo es porque busca la carpeta de system32\inetsrv, se supone debe leer del directorio de instalacion,pues mi web.config dice path="xslt\archivo.xslt"

    Grave confusion, y bastante frecuente. "xslt\archivo.xslt" no significa "leer del directorio de instalacion" sino "leer desde el directorio actual (current)". El directorio actual es impredecible, depende de cómo se lance la aplicación. Cuando la lanzas desde el IIS, de manera predeterminada el current directory resulta ser la carpeta inetsrv (no la carpeta de instalación de los ficheros que está sirviendo el IIS).
    Para resolverlo, usa una ruta absoluta en lugar de relativa, es decir, usa algo asi como "c:\lacarpetaquesea\xslt\archivo.xslt".
    miércoles, 27 de enero de 2016 6:29

Todas las respuestas

  • hola

    Recuerda que un sitio en el IIS ejecuta con un usuario en concreto definido en el Application Pool, si este usuario no tiene acceso a esa carpeta tendras ese mensaje de error

    Por lo tanto valida que usuario tienes asignado

    imagen

    valida que el usuario que defines en el Application pool tenga acceso a esa carpeta

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    miércoles, 27 de enero de 2016 2:04
  • Lo que no entiendo es porque busca la carpeta de system32\inetsrv, se supone debe leer del directorio de instalacion,pues mi web.config dice path="xslt\archivo.xslt"

    Grave confusion, y bastante frecuente. "xslt\archivo.xslt" no significa "leer del directorio de instalacion" sino "leer desde el directorio actual (current)". El directorio actual es impredecible, depende de cómo se lance la aplicación. Cuando la lanzas desde el IIS, de manera predeterminada el current directory resulta ser la carpeta inetsrv (no la carpeta de instalación de los ficheros que está sirviendo el IIS).
    Para resolverlo, usa una ruta absoluta en lugar de relativa, es decir, usa algo asi como "c:\lacarpetaquesea\xslt\archivo.xslt".
    miércoles, 27 de enero de 2016 6:29
  • Lo que no entiendo es porque busca la carpeta de system32\inetsrv, se supone debe leer del directorio de instalacion,pues mi web.config dice path="xslt\archivo.xslt"

    Grave confusion, y bastante frecuente. "xslt\archivo.xslt" no significa "leer del directorio de instalacion" sino "leer desde el directorio actual (current)". El directorio actual es impredecible, depende de cómo se lance la aplicación. Cuando la lanzas desde el IIS, de manera predeterminada el current directory resulta ser la carpeta inetsrv (no la carpeta de instalación de los ficheros que está sirviendo el IIS).
    Para resolverlo, usa una ruta absoluta en lugar de relativa, es decir, usa algo asi como "c:\lacarpetaquesea\xslt\archivo.xslt".
    es cierto amigo, ya lo acababa de resolver con ruta absoluta, gracias

    La programacion en Microsoft cada ves se torna inalcanzable

    miércoles, 27 de enero de 2016 19:35