Windows 自動更新功能眾所周知,但鮮少人知 Windows 系統服務同樣能協助網站自動更新。本文將詳細說明如何利用 .NET Framework 2.0 開發的 Windows Service,搭配 XML 設定檔,達成定時自動訪問指定網址的功能,適用於網站快取更新、資料同步等場景。
此方案包含三大核心元件:
<?xml version="1.0" encoding="utf-8"?>
<root>
<Urls>
<item url="https://www.example.com/update" time="03:59" />
<item url="https://www.example.com/sync" time="11:59" />
<item url="https://www.example.com/clear_cache" time="15:59" />
</Urls>
</root>
每個 <item> 代表一次排程任務,url 為目標網址(可帶查詢字串),time 為每日執行時間(精確到分鐘),同一分鐘內僅允許單一任務。
public Job() {
// 初始化 20 秒間隔的 Timer
System.Timers.Timer myTimer = new System.Timers.Timer(20000);
myTimer.Elapsed += new ElapsedEventHandler(myTimer_Elapsed);
myTimer.Enabled = true;
myTimer.AutoReset = true;
// 載入 XML 設定
XmlDocument xml = new XmlDocument();
xml.Load(AppDomain.CurrentDomain.BaseDirectory + ConfigurationManager.AppSettings["xmlfile"]);
xmllist = xml.SelectNodes("//root/Urls/item");
}
void myTimer_Elapsed(object source, ElapsedEventArgs e) {
try {
Log.SaveNote(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + " Heart Beat!");
// 遍歷節點檢查是否到達執行時間,若符合則發送 WebRequest
// ... 實作略 ...
} catch (Exception ex) {
Log.SaveNote("Error: " + ex.Message);
}
}
InstallUtil.exe 安裝為 Windows 服務此方案輕量、免費且彈性高,非常適合中小型網站或內部系統的自動化維護需求。若需更進階的排程控制(如間隔執行、工作日判斷),可擴充 XML 結構或改用 Windows 工作排程器搭配 PowerShell 腳本實現。
低階格式化拯救硬碟?原理、風險、工具與操作全攻略(附慎用警語)
Windows 安全模式殺毒與修復實戰:五大核心場景讓頑疾無所遁形
XP 系統顯示卡故障徵兆大全:黑屏、花屏、死機、色彩異常一網打盡
Windows XP 忘記密碼破解法(三):禁用 Shift 繞過自動登入、建立受限帳戶、限制登入時間、EFS 加密檔案風險與備份
XP 執行 VMware Workstation 提示「內部錯誤」?以管理員身分執行即可
Windows XP 桌面主題美化完全指南:從 UXTheme 破解到 .msstyles 安裝與進階搭配