2009-04-18 37 views

回答

0

你可以爲你的配置文件(TXT或XML),每10分鐘例如(與定時器或胎面)所做的更改您的Windows服務檢查。如果檢測到更改,請使用新的配置值重新加載自己的Windows服務。

我曾把在C#中的服務,最後寫入時間記錄每10分鐘到配置文件:

File.GetLastWriteTime(pathToYourConfigFile); 

如果新的寫入時間比錄了一小,配置文件會得到重新加載。我用一個小的XML文件進行配置。您可以通過磁盤或HTTP訪問此文件(http://somedomain.com/config.xml)。在我的情況下,我使用HTTP,因爲配置文件與服務不在同一臺服務器上。

2

大概你的意思是你想改變你的計時器的週期性,即它的過期次數。

我建議在配置文件中保留定時器時間。使用FileSystemWatcher跟蹤這個文件 - 當文件改變時它會觸發一個事件。當觀察者檢測到文件已更改並且您的代碼確定期間不同時,請更新計時器的到期期限。取決於您是否將計時器設置爲自動重置,或者在過期時「手動」重置計時器,您可能需要對其進行不同的處理。如果它自動重置,則需要停止並在值更改時重新啓動它。如果它是「手動」重置,那麼它可以設置爲在計時器到期時提取新值。

可以在MSDN上找到如何使用FileSystemWatcher並與ConfigurationManager類交互(讀取配置)的示例。

相關問題