2010-01-30 30 views
12

Estoy usando Request.ApplicationPath para conocer el nombre del directorio virtual en el que estoy ejecutando. ¿Hay una manera más confiable?¿Obtener el nombre del directorio virtual?

+3

Lo que hace 'Request.ApplicationPath' poco fiable? –

+1

Nunca debería haber usado la palabra "confiable". "Cleaner" hubiera sido una mejor manera. Me gustaría algo que me diera el nombre (o alias) del Directorio Virtual sin importarme la barra al principio. Pequeño, lo sé, pero no me importa preguntar este tipo de cosas. Lo siento por mi pobre redacción. – lance

+1

Crea una función de utilidad para proporcionar lo que deseas. Por supuesto, utilizando el Request.ApplicationPath para comenzar. –

Respuesta

16

Request.ApplicationPath es una manera perfectamente confiable de obtener el directorio virtual y funciona siempre cuando tiene el HttpContext y puede solicitar los datos de Solicitud.

Para más procesamiento y extracción de partes de la ruta, eche un vistazo a la clase VirtualPathUtility.

2

Debe usar Request.ApplicationPath. Para eso está diseñado.

Edición para completar su comentario.

Dado que desea una forma más limpia de manejar la barra inclinada, le recomiendo que cree una función de utilidad que devuelva la ruta de la aplicación con la lógica para lidiar con la barra como lo considere oportuno.

0

Utilice esta función en C#:

public static String GetHost() 
{ 
    var request = HttpContext.Current.Request; 
    return request.Url.Scheme + "://" + request.ServerVariables["HTTP_HOST"] + request.ApplicationPath; 
} 
Cuestiones relacionadas