2011-11-03 18 views

Respuesta

29

Esto es lo que yo uso

HttpContext.Current.Request.Url.GetLeftPart(UriPartial.Authority) + HttpContext.Current.Request.ApplicationPath; 
+0

HttpContext.Current.Request.ApplicationPath no volverá/tienda/en su primer ejemplo si no es la raíz de la aplicación. –

+1

Es un buen punto SI 'shop' no es un directorio virtual. Supongo que asumí que estaba basado en la pregunta de un aficionado. Entonces la pregunta es si el aficionado quiere la ruta completa a la raíz de la aplicación (lo que proporciona mi código) o solo la URL completa menos el nombre del archivo. –

+0

Ahora que volví a leer la pregunta, simplemente dicen directorio virtual, por lo que su respuesta se ajusta específicamente a la pregunta. –

4

Request.Url debe contener todo lo necesario. En ese punto, se trata de verificar el hilo y lo que prefieres extraer de él. He usado AbsoluteUri antes, y funciona.

Este ejemplo no es a prueba de tontos, pero debe ser capaz de averiguar lo que necesita de esto:

string Uri = Request.Url.AbsoluteUri; 
string Output = Uri.Substring(0, Uri.LastIndexOf('/') + 1); 
0

Esto debería funcionar

Request.Url.OriginalString.Substring(0, Request.Url.OriginalString.LastIndexOf(Request.FilePath.Substring(Request.FilePath.LastIndexOf("/")))) + "/" 
1

Esta solución podría trabajar y es más corto :

string url = (new Uri(Request.Url, ".")).OriginalString; 
Cuestiones relacionadas