Windows自動更新是Windows操作系統的一項功能,當適用於您的計算機的重要更新發布時,它會及時提醒您下載和安裝。通過使用自動更新可以在第一時間更新您的操作系統,修復系統漏洞,保護您的計算機安全。這些都是大家很熟悉的功能,但是利用Windows系統服務自動更新網站,這個你知道嗎?答案應該是否定的,今天就為大家講解如何利用Windows系統服務自動更新網站.
詳細原理:
1) Windows服務端:
Windows服務采用.Net Framework2.0框架,所以使用時應該先安裝好.Net Framework2.0,
采用一個xml文件存儲配置信息,裡面存儲需要訪問的網址,示例結構如下:
<?xml version=1.0 encoding=utf-8 ?>
<root>
<Urls>
<item url=http://www.***.com time=3:59/>
<item url=http://www.***..com time=11:59/>
<item url=http://www.***..com time=13:59/>
<item url=http://www.***.com time=15:59/>
<item url=http://www.***..com time=16:59/>
</Urls>
</root>
一個item代表一次訪問,url是具體的網址,設置為網站自動更新的url地址,可以帶查詢字符串來設置更新的數量,time表示每天訪問的時間,time只能精確到1分鐘,而且必須保證每個item在同一分鐘內只有一個url任務。
程序采用一個定時器,每隔20秒掃描一下配置項中是否有需要訪問的網址,如果有則訪問一次這個網址。相關代碼如下:
public Job()
{
System.Timers.Timer myTimer = new System.Timers.Timer(20000);
myTimer.Elapsed += new ElapsedEventHandler(myTimer_Elapsed);
myTimer.Enabled = true;
myTimer.AutoReset = true;
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 Work!(心跳檢測));