当“web.config”或“applicationHost.config”发生变化时通知 Windows 服务

当“web.config”或“applicationHost.config”发生变化时通知 Windows 服务

我正在尝试优化我的服务对“web.config”或“applicationHost.config”的文件读取次数。如果对同一站点或应用程序再次请求相同的配置,我计划通过将请求的配置读入内存来实现。但我想知道当对“web.config”或“applicationHost.config”进行更改时如何通知我的服务。我读到当对“web.config”进行更改时,AppDomain 将重新启动,但“applicationHost.config”中的更改不会重新启动。是否有一种通用方法可以让 IIS 在对这些文件进行更改时通知?

答案1

文件系统有一个 API,允许监控文件更改,您的服务可以使用它来监听事件。请参阅下面的链接了解一些详细信息和注意事项。

https://stackoverflow.com/questions/4205643/how-to-handle-web-config-contents-update-event-how-to-detect-that-web-config-h

IIS 具有配置审核功能,如果您感兴趣的文件对配置应用更改时,它会填充事件日志,此功能也很有用。我现在无法测试它,但如果监视文件系统更改不能满足您的需求,您可以这样做。

http://blogs.msdn.com/b/webtopics/archive/2010/03/19/iis-7-5-how-to-enable-iis-configuration-auditing.aspx

相关内容