我寫了一個自定義的Windows服務來處理一些文件的清理,編輯等。在這個程序的OnStart方法,我有:Windows服務的OnStart方法無法讀取appsetttings
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;
但在.exe.config
<appSettings>
<add key="RunInterval" value="8" />
<!-- Lots of other stuff -->
</appSettings>
:AppSettings的[ 「RunInterval」]爲空每次回來,即使我有。它爲什麼這樣做?直到OnStart之後,配置文件才被加載?似乎沒有什麼意義。
實際上,您可能想要通過ConfigurationSettings.AppSettings嘗試ConfigurationManager.AppSettings - 我始終在服務中使用前者。 –
我會在幾分鐘內嘗試,但我一直在使用舊的方法,因爲我不想在代碼中更改它的每個實例,而且我也不想使用它們兩個,我從來沒有遇到任何問題。當然,這是在MVC應用程序,而不是Windows服務,但我無法想象它會導致這個問題 –