无处不在的获取.NET WEB应用程序的文件系统根目录的方法

时间:2010-03-25 17:22:54

标签: c# .net webforms

Ubiquitous way to get the root directory an application is running in via C#类似,但该问题似乎与Win Form有关。如何为Web表单做同样的事情?

我正在使用......

HttpContext.Current.Server.MapPath("~")

这对于处理HTTP请求非常有用,但是如果Quartz.NET之类的调度程序调用一个作业(我遇到的问题),它似乎不起作用。

3 个答案:

答案 0 :(得分:5)

尝试使用System.Web.Hosting.HostingEnvironment.MapPath方法。 AFAIK它不依赖于HttpContext,所以你应该能够从后台线程中使用它。

答案 1 :(得分:5)

您正在寻找HttpRuntime.AppDomainAppPath属性,也许还有VirtualPathUtility类。

答案 2 :(得分:0)

使用AppDomain.CurrentDomain.BaseDirectory。这对应于AppDomainSetup.ApplicationBase,表明它是'应用程序基目录的名称。'

http://msdn.microsoft.com/en-us/library/system.appdomain.basedirectory.aspx

http://msdn.microsoft.com/en-us/library/system.appdomainsetup.applicationbase.aspx