修改ASP.NET(MVC)应用程序的“ web.config”文件时,the application is automatically recompiled/restarted,强制读取修改后的“ web.config”。
我的问题:
是否可以将这种更改检测行为应用于ASP.NET网站根目录中的我自己的配置文件(例如“ my-config.json”)?
即当有人修改“ my-config.json”文件时,该应用程序将重新启动。
最佳答案
您可以使用FileSystemWatcher
来监视文件并检测更改,然后重新启动应用程序或重新加载设置。
也许您不需要重新启动应用程序,而只需要重新加载设置
protected void Application_Start()
{
// Other initializations ...
// ....
var watcher = new FileSystemWatcher();
//Set the folder to watch
watcher.Path = Server.MapPath("~/Config");
watcher.NotifyFilter = NotifyFilters.LastAccess | NotifyFilters.LastWrite;
//Set a filter to watch
watcher.Filter = "*.json";
watcher.Changed += watcher_Changed;
// Begin watching.
watcher.EnableRaisingEvents = true;
}
void watcher_Changed(object sender, FileSystemEventArgs e)
{
//Restart application here
//Or Reload your settings
}