与Ubiquitous way to get the root directory an application is running in via C#类似,但该问题似乎与Win Form有关。如何为Web表单做同样的事情?
我正在使用......
HttpContext.Current.Server.MapPath("~")
这对于处理HTTP请求非常有用,但是如果Quartz.NET之类的调度程序调用一个作业(我遇到的问题),它似乎不起作用。 1}}在该场景中为空,因为没有发出实际的HTTP请求。
答案 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