系統(tǒng)之家 - 系統(tǒng)光盤下載網(wǎng)站!

當前位置:系統(tǒng)之家 > 系統(tǒng)教程 > 自動更新網(wǎng)站?Windows系統(tǒng)服務(wù)幫你忙

自動更新網(wǎng)站?Windows系統(tǒng)服務(wù)幫你忙

時間:2012-10-03 09:42:30 作者:木木 來源:系統(tǒng)之家 1. 掃描二維碼隨時看資訊 2. 請使用手機瀏覽器訪問: https://m.xitongzhijia.net/xtjc/20120926/16878.html 手機查看 評論

  Windows自動更新是Windows操作系統(tǒng)的一項功能,當適用于您的計算機的重要更新發(fā)布時,它會及時提醒您下載和安裝。通過使用自動更新可以在第一時間更新您的操作系統(tǒng),修復(fù)系統(tǒng)漏洞,保護您的計算機安全。這些都是大家很熟悉的功能,但是利用Windows系統(tǒng)服務(wù)自動更新網(wǎng)站,這個你知道嗎?答案應(yīng)該是否定的,今天就為大家講解如何利用Windows系統(tǒng)服務(wù)自動更新網(wǎng)站.

  詳細原理:

  1) Windows服務(wù)端:

  Windows服務(wù)采用.Net Framework2.0框架,所以使用時應(yīng)該先安裝好.Net Framework2.0,

  采用一個xml文件存儲配置信息,里面存儲需要訪問的網(wǎng)址,示例結(jié)構(gòu)如下:

       <?xml version=1.0 encoding=utf-8 ?>

  <root>

  <Urls>

  <item url=https://www.***.com time=3:59/>

  <item url=https://www.***..com time=11:59/>

  <item url=https://www.***..com time=13:59/>

  <item url=https://www.***.com time=15:59/>

  <item url=https://www.***..com time=16:59/>

  </Urls>

  </root>  

  一個item代表一次訪問,url是具體的網(wǎng)址,設(shè)置為網(wǎng)站自動更新的url地址,可以帶查詢字符串來設(shè)置更新的數(shù)量,time表示每天訪問的時間,time只能精確到1分鐘,而且必須保證每個item在同一分鐘內(nèi)只有一個url任務(wù)。

  程序采用一個定時器,每隔20秒掃描一下配置項中是否有需要訪問的網(wǎng)址,如果有則訪問一次這個網(wǎng)址。相關(guān)代碼如下:

  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!(心跳檢測));

  YourTask();

  }

  catch (Exception ee)

  {

  Log.SaveException(ee);

  }

  }

  void YourTask()

  {

  count++;

  if (count > 10000)

  count = 0;

  for (int i = 0; i < xmllist.Count; i++)

  {

  string url = xmllist[i].Attributes[url].Value;

  string time = xmllist[i].Attributes[time].Value;

  //Log.SaveNote(url + - + time);

  DateTime workTime = DateTime.Parse(DateTime.Now.ToShortDateString() + + time);

  //lastwork

  if (DateUtil.DateDiff(DateUtil.DateInterval.Minute, workTime, DateTime.Now) == 0)

  {

  //到了執(zhí)行時間

  if (DateUtil.DateDiff(DateUtil.DateInterval.Minute, workTime, lastworktime) != 0)

  {

  //訪問網(wǎng)址,如 手機主題 https://www.shouji138.com

  visit(url);

  lastworktime = DateTime.Now;

  }

  }

  }

  }

  void visit(string url)

  {

  HttpWebRequest myHttpWebRequest = null;

  HttpWebResponse myHttpWebResponse = null;

  Stream receiveStream = null;

  try

  {

  myHttpWebRequest = (HttpWebRequest)WebRequest.Create(url);

  myHttpWebResponse = (HttpWebResponse)myHttpWebRequest.GetResponse();

  receiveStream = myHttpWebResponse.GetResponseStream();//得到回寫的字節(jié)流

  Log.SaveNote(訪問: + url);

  }

  catch (Exception ex)

  {

  Log.SaveNote(訪問失敗: + url);

  Log.SaveException(ex);

  }

  finally

  {

  if (receiveStream != null)

  receiveStream.Close();

  if (myHttpWebResponse != null)

  myHttpWebResponse.Close();

  }

  }

  2) 網(wǎng)站端:

  網(wǎng)站端應(yīng)該采用審核機制,比如一個表News表,設(shè)置字段isaccept為審核字段,1表示已審核,0表示未審核,新增的內(nèi)容默認為未審核0。我們在平時的時候多添加一些內(nèi)容到未審核庫中,然后交給程序來自動更新。更新程序可以采用任何動態(tài)網(wǎng)頁技術(shù),asp、php、jsp都可以,該程序的作用就是把未審核的內(nèi)容更改為審核狀態(tài),為了靈活起見,可以設(shè)置一個表示更新數(shù)量的查詢字符串變量給程序,如num,則更新3條的網(wǎng)址就變成https://***.**>A.asp?num=3這種形式,這個網(wǎng)址可以在Windows服務(wù)的配置文件中設(shè)置好。本文的重點是講采用Windows服務(wù)來進行網(wǎng)站更新,所以具體網(wǎng)站端的代碼我就沒有寫出來了,各位站長可以根據(jù)自己網(wǎng)站的情況來編寫。Windows服務(wù)是與網(wǎng)站端沒有業(yè)務(wù)邏輯關(guān)聯(lián)的,windows服務(wù)只管定期的來訪問網(wǎng)站端的更新網(wǎng)址,而網(wǎng)站端的更新網(wǎng)址只管更新的業(yè)務(wù)邏輯。

  作為一個站長,為了管理好網(wǎng)站,也為了討好搜索引擎,每天都需要在不同的時段更新網(wǎng)站的內(nèi)容,有的站長需要維護幾個網(wǎng)站,每天的工作量可想而知,如果逢年過節(jié),站長沒有在電腦旁邊或者無法上網(wǎng),這個維護工作也就無法進行。為此,學(xué)習(xí)如何利用Windows系統(tǒng)服務(wù)自動更新網(wǎng)站,非常有必要,你覺得呢?

發(fā)表評論

0

沒有更多評論了

評論就這些咯,讓大家也知道你的獨特見解

立即評論

以上留言僅代表用戶個人觀點,不代表系統(tǒng)之家立場

其他版本軟件

人氣教程排行

XP系統(tǒng)推薦

官方交流群 軟件收錄