FileSystemWatcher中的HttpContext.Current null

时间:2014-01-26 18:22:33

标签: c# .net asp.net-mvc filesystemwatcher httpcontext

我有一个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似乎都为空。如果这不起作用,如何获取我的应用程序的根文件夹?

3 个答案:

答案 0 :(得分:0)

  

如果这不起作用,如何获取我的应用程序的根文件夹?

AppDomain.CurrentDomain.BaseDirectory

答案 1 :(得分:0)

答案 2 :(得分:0)

还有另一种选择; HostingEnvironment.MapPathServer.MapPath做什么,没有活动的HttpContext。

请参阅What is the difference between Server.MapPath and HostingEnvironment.MapPath?

  

实际上,唯一的区别是你可以将null传递给Server.MapPath(),但不能传递给HostingEnvironment.MapPath()