我有一个ASP.NET MVC 4应用程序。
此外,我的应用程序根目录中有一个XML文件。
每当管理员更改此文件时,我都希望应用程序知道它并阅读新值。
...
FileSystemWatcher Watcher = new FileSystemWatcher();
Watcher.Changed += new FileSystemEventHandler(OnChanged);
...
private void OnChanged(object source, FileSystemEventArgs e) {
var path = HttpContext.Current.Server.MapPath("~/"))
}
每次HttpContext.Current
似乎都为空。如果这不起作用,如何获取我的应用程序的根文件夹?
答案 0 :(得分:0)
如果这不起作用,如何获取我的应用程序的根文件夹?
AppDomain.CurrentDomain.BaseDirectory
答案 1 :(得分:0)
正是您所需要的,
var domainPath = HttpRuntime.AppDomainAppPath;
答案 2 :(得分:0)
还有另一种选择; HostingEnvironment.MapPath。 Server.MapPath
做什么,没有活动的HttpContext。
请参阅What is the difference between Server.MapPath and HostingEnvironment.MapPath?
实际上,唯一的区别是你可以将null传递给Server.MapPath(),但不能传递给HostingEnvironment.MapPath()