startuppath ruta relativa obtener net escritorio directorio dinamico crear carpeta asp archivo actual absoluta c# web-services

ruta - startuppath c# asp net



¿Cómo obtengo el directorio actual en un servicio web? (7)

En un servicio web, se está ejecutando en un contexto http. Asi que,

HttpContext.Current.Server.MapPath("~/")

te dará la respuesta.

Estoy usando System.IO.Directory.GetCurrentDirectory () para obtener el directorio actual en mi servicio web, pero eso no me da el directorio actual. ¿Cómo obtengo el directorio actual en un servicio web?

Gracias Stuart


HttpContext.Current.Server.MapPath ("..") [observe dos (..) puntos en lugar de (.)] Da el directorio físico del directorio virtual del sitio!


HttpContext.Current.Server.MapPath ("~ /") vuelve a la raíz de la aplicación o directorio virtual.

HttpContext.Current.Server.MapPath ("~ /") <- ROOT
HttpContext.Current.Server.MapPath (".") <- DIRECTORIO ACTUAL
HttpContext.Current.Server.MapPath ("..") <- DIRECTORIO DE PADRES

Todo lo anterior es relativo, por lo que puede cualquier combinación para recorrer el árbol de directorios.


La mejor manera es usar

HostingEnvironment.ApplicationPhysicalPath en System.Web.Hosting

para más información, consulte este enlace


Puedes usar

AppDomain.CurrentDomain.BaseDirectory;

Esto le proporciona el directorio raíz de su aplicación.


HttpContext.Current.Server.MapPath(".") Le dará el directorio de trabajo actual.

Pero para el comentario de Rohan West sobre el potencial de estar fuera de un HttpContext, probablemente sería mejor llamar:

HostingEnvironment.MapPath(".")

Ver detalles here


HttpContext.Current.Server.MapPath("~/") daría la raíz de la aplicación?

Lo cual es bastante probable ya que probablemente conozcas el camino desde allí.

Otra opción que podría ser de interés:

HttpContext.Current.Server.MapPath("/Directory/")

Esto se basa desde la raíz de la aplicación pase lo que pase.

Sin la primera barra, tomará el directorio desde el que llama como inicio:

HttpContext.Current.Server.MapPath("Directory/")