【发布时间】:2011-09-25 06:18:49
【问题描述】:
在 WCF webservices 中管理配置文件更改的最佳方法是什么?我知道通常在桌面应用程序中人们使用FileSystemWatcher 来观察App.config 的变化,但是如何在 WCF 中配置一个呢?我尝试使用类似以下代码:
public class Service : IService
{
private static readonly FileSystemWatcher ConfigurationWatcher = new FileSystemWatcher(PathToRootDirectory);
private void ReloadConfiguration(object sender, FileSystemEventArgs e)
{
ConfigurationManager.RefreshSection("appSettings");
ConfigurationManager.RefreshSection("connectionStrings");
}
// IService implementation goes here.
static Service()
{
ConfigurationWatcher.Filter = "web.config";
ConfigurationWatcher.NotifyFilter = NotifyFilter.LastWrite;
ConfigurationWatcher.Change += ReloadConfiguration;
}
}
但是,这似乎不起作用,因为 ConfigurationWatcher 似乎在每次调用服务时都会被初始化...如何实现这一点?
【问题讨论】:
-
这对 IIS 托管服务自动起作用。您如何托管您的服务?
-
它确实是 IIS 托管的!那么,非常感谢!