如果更改app.config,是否必须重新启动Windows服务?
答案 0 :(得分:31)
.Net框架将读取app.config一次,再也不会触摸app.config。这就是为什么你必须重新启动应用程序以获取更改。
为什么.Net框架没有检测到app.config已经更改,并刷新所有配置数据?
原因很简单,一般情况下这是不可能的。
让我们在这里使用雷蒙德的“想象这可以完成”的逻辑......
答案 1 :(得分:10)
ConfigurationManager.RefreshSection("appSettings")
sValue = ConfigurationManager.AppSettings(name)
答案 2 :(得分:8)
不,你没有拥有。但是,如果您希望app.config
中的更改生效,则可能需要重新启动它。或者您可能希望实现一个自定义配置文件观察器机制,它可以动态改变服务的设置。
答案 3 :(得分:4)
是
大概是指appname.exe.config文件?
答案 4 :(得分:2)
通常是的。但是,您可以编写一个Windows服务,将文件监视器放在配置文件上并检测修改并应用它而无需重新启动。
例如,Log4Net日志记录框架为其配置文件提供了这样的机制。
答案 5 :(得分:1)
这超出了问题的范围,但我猜你只想在一些“特定于应用程序”的部分(appSettings等)中进行更改。
你最好编写自己的配置节处理程序,它监视它自己的配置文件 - 方法nlog uses。请查看“自动重新配置”部分。