可以为我自己的配置文件模仿 web.config 重启行为吗?
Possible to mimic web.config restart behaviour for my own config files?
当您修改 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
}
当您修改 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
}