Get current application physical path within Application_Start
I'm not able to get the current physical path within Application_Start using
HttpContext.Current.Request.PhysicalApplicationPath
because there is no Request object at that time.
How else can I get the physical path?
Solution 1:
protected void Application_Start(object sender, EventArgs e)
{
string path = Server.MapPath("/");
//or
string path2 = Server.MapPath("~");
//depends on your application needs
}
Solution 2:
I created a website with ASP.Net WebForms where you can see the result of using all forms mentioned in previous responses from a site in Azure.
http://wfserverpaths.azurewebsites.net/
Summary:
Server.MapPath("/") => D:\home\site\wwwroot\
Server.MapPath("~") => D:\home\site\wwwroot\
HttpRuntime.AppDomainAppPath => D:\home\site\wwwroot\
HttpRuntime.AppDomainAppVirtualPath => /
AppDomain.CurrentDomain.BaseDirectory => D:\home\site\wwwroot\
HostingEnvironment.MapPath("/") => D:\home\site\wwwroot\
HostingEnvironment.MapPath("~") => D:\home\site\wwwroot\
Solution 3:
You can also use
HttpRuntime.AppDomainAppVirtualPath
Solution 4:
Use Server.MapPath("~")