How to get application root (full physical path) in OnApplicationStarted in MVC3 application?

Michal B. picture Michal B. · May 3, 2013 · Viewed 16.1k times · Source

Until now I used:

Dim appPath = HttpContext.Current.Request.MapPath(HttpContext.Current.Request.ApplicationPath)

But today I moved my app from IIS6 to IIS7 and I get "Request is not available in this context" exception. This is due to Integrated mode pipeline in IIS7. I do not want to go to classic mode, so I am looking for a different way of getting the application path (which is "C:\SVN\L2E\trunk\Website").

Does anyone have an idea how I can get the full physical path of my MVC3 app?

Answer

cgijbels picture cgijbels · May 29, 2013

You can use System.Web.HttpRuntime.AppDomainAppVirtualPath to get the virtual path and call System.Web.Hosting.HostingEnvironment.MapPath to map the virtual path to a physical one.