How do I get the complete virtual path of an ASP.NET application How do I get the complete virtual path of an ASP.NET application asp.net asp.net

How do I get the complete virtual path of an ASP.NET application


The domain name part of the path is not really a property of the application itself, but depends on the requesting URL. You might be able to reach a single Web site from many different host names. To get the domain name associated with the current request, along with the virtual path of the current application, you could do:

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

Technically, an "application" is a virtual directory defined in IIS and Request.ApplicationPath returns exactly that. If you want to get the folder in which the current request is handled, you can do this:

VirtualPathUtility.GetDirectory(Request.Path)

ASP.NET has no idea how to distinguish your sub-application from a bigger application if it's not defined as a virtual directory in IIS. Without registering in IIS, it just sees the whole thing as a single app.


Request.Url

it contains several points that you might consider to use, see the image below:

enter image description here


In .NET 4.5

    VirtualPathUtility.ToAppRelative(path)