net ejemplos asp asp.net path virtual

ejemplos - ¿Cómo obtengo la ruta virtual completa de una aplicación ASP.NET?



server.mappath c# ejemplos (5)

El siguiente código resolverá el propósito, sin embargo, debe ajustar un poco para dos tipos de escenarios:

  1. Alojado como una aplicación web separada.
  2. Hospedado como aplicación virtual dentro de una aplicación web.

    HttpContext.Current.Request.Url.GetLeftPart (UriPartial.Authority) + HttpRuntime.AppDomainAppVirtualPath;

¿Cómo sé cuál es la ruta virtual completa en la que está alojada mi aplicación actualmente? Por ejemplo:

http://www.mysite.com/myApp

o

http://www.mysite.com/myApp/mySubApp

Conozco la ruta de la aplicación de HttpRequest pero solo devuelve el nombre de la carpeta en la que está alojada actualmente mi aplicación, pero ¿cómo obtengo la parte inicial?


En .NET 4.5

VirtualPathUtility.ToAppRelative(path)


La parte del nombre de dominio de la ruta no es realmente una propiedad de la aplicación en sí, sino que depende de la URL solicitante. Es posible que pueda llegar a un único sitio web desde diferentes nombres de host. Para obtener el nombre de dominio asociado con la solicitud actual , junto con la ruta virtual de la aplicación actual, puede hacer:

Request.Url.GetLeftPart(UriPartial.Authority) + Request.ApplicationPath

Técnicamente, una "aplicación" es un directorio virtual definido en IIS y Request.ApplicationPath devuelve exactamente eso. Si desea obtener la carpeta en la que se maneja la solicitud actual, puede hacer esto:

VirtualPathUtility.GetDirectory(Request.Path)

ASP.NET no tiene idea de cómo distinguir su subaplicación de una aplicación más grande si no está definida como un directorio virtual en IIS. Sin registrarse en IIS, solo lo ve como una aplicación única.


Prueba esto (No lo he probado)

public string GetVirtualPath(string physicalPath) { string rootpath = Server.MapPath("~/"); physicalPath = physicalPath.Replace(rootpath, ""); physicalPath = physicalPath.Replace("//", "/"); return "~/" + physicalPath; }

Enlace 1

Enlace 2


Request.Url

contiene varios puntos que puede considerar utilizar, vea la imagen a continuación: