我写了一个自定义的 Windows 服务来处理一些文件清理、编辑等。在这个程序的 OnStart 方法中,我有:
timer.Elapsed += new ElapsedEventHandler(OnElapsedTime);
timer.Interval = Convert.ToInt32(System.Configuration.ConfigurationSettings.AppSettings["RunInterval"]) * 60 * 60 * 1000); //yeah, i know its an old method
timer.Enabled = true;
但是 AppSettings["RunInterval"] 每次都返回 null ,即使我有:
<appSettings>
<add key="RunInterval" value="8" />
<!-- Lots of other stuff -->
</appSettings>
在 .exe.config 中。为什么要这样做?配置文件是在 OnStart 之后才加载的吗?好像没有多大意义。