过期罐头电脑论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 4585|回复: 0
收起左侧

应用 Windows 服务主动更新网站

[复制链接]
13816729712 2011-2-16 11:22:05 | 显示全部楼层
 应用布景:作为一个站长,为了打点好网站,也为了奉迎搜索引擎,天天都需要. 在分歧的时段更新网站的内容,有的站长需要. 维护几个网站,天天的工作量不可思议 ,如不美观逢年过节,站长没有在电脑旁边或者无法上网,这个维护工作也就无法进行。  
  使用事理:本文介绍了一种格式 来自动更新网站内容,采用一个Windows 处事,设置好它的URL访谒地址,天天在特按时辰 内访谒需要. 更新内容的网站的特殊 页面(假定章个页面为A);在网站端,设置一个审核机制,只有经由过程审核的内容才能显示在网站前端,新加的信息默认是不审核,页面A的浸染就是年夜未审核信息中挑出几条进行审核,这样就更新了网站内容,对于静态首页的,页面A还可以生成下首页静态页面。当然页面A还可以做更多的用处 ,如备份数据库、更改到期用户情况 、删除无用的权且 文件等。  
  具体事理:  
  1) Windows处事端:  
  Windows处事采用.Net Framework2.0框架,所以使用时应该先安装好.Net Framework2.0,下载地址:  
  http://www.microsoft.com/downloads/details.aspx?FamilyID=0856EACB-4362-4B0D-8EDD-AAB15C5E04F5&displaylang=zh-cn  
  采用一个xml文件存储设置配备 摆设信息,琅缦沔存储需要. 访谒的网址,示例构造 如下:  

  一个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!(心跳检测));  
  YourTask();  
  }  
  catch (Exception ee)  
  {  
  Log.SaveException(ee);  
  }  
  }  
  void YourTask()  
  {  
 count++;  
  if (count > 10000)  
  count = 0;  
  for (int i = 0; i < xmllist.Count; i++)  
  &#123; 
  string url = xmllist.Attributes[url].Value;  
  string time = xmllist.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)
  &#123;  
  //到了执行时辰   
  if (DateUtil.DateDiff(DateUtil.DateInterval.Minute, workTime, lastworktime) != 0)  
  &#123;  
  //访谒网址,如 电脑搜集 学院 http://www.pcedu123.com  
  visit(url);  
  lastworktime = DateTime.Now;  
  &#125;
  &#125;  
  &#125;  
  &#125;  
  void visit(string url)  
  &#123;
  HttpWebRequest myHttpWebRequest = null;  
  HttpWebResponse myHttpWebResponse = null;  
  Stream receiveStream = null;  
  try  
  &#123;  
  myHttpWebRequest = (HttpWebRequest)WebRequest.Create(url);  
  myHttpWebResponse = (HttpWebResponse)myHttpWebRequest.GetResponse();  
  receiveStream = myHttpWebResponse.GetResponseStream();//取得 回写的字节约  
  Log.SaveNote(访谒: + url);  
  &#125;  
  catch (Exception ex)  
  &#123;  
  Log.SaveNote(访谒失踪败: + url);  
  Log.SaveException(ex);  
  &#125;  
  finally  
  &#123;  
  if (receiveStream != null)  
  receiveStream.Close();  
  if (myHttpWebResponse != null)  
  myHttpWebResponse.Close();
  
  &#125;  
  &#125;  
  2) 网站端:  
  网站端应该采用审核机制,好比一个表News表,设置字段isaccept为审核字段,1暗示已审核,0暗示未审核,新增的内容默觉得 未审核0。我们在日常平常的时辰多添加一些内容到未审核库中,然后交给轨范来自动更新。更新轨范可以采用任何动态网页手艺,asp、php、jsp都可以,该轨范的浸染就是把未审核的内容更改为审核情况 ,为了矫捷起见,可以设置一个暗示更新数目的发芽字符串变量给轨范,如num,则更新3条的网址就酿成http://www.shouji138.com/A.asp?num=3这种方式 ,这个网址可以在Windows处事的设置配备 摆设文件中设置好。本文的重点是讲采用Windows处事来进行网站更新,所以具体网站端的代码我就没有写出来了,列位站长可以依照 自己. 网站的情形来编写。Windows处事是与网站端没有停业 逻辑联络 关系的,windows处事虽然 按期的来访谒网站端的更新网址,而网站端的更新网址虽然 更新的停业 逻辑。

您需要登录后才可以回帖 登录 | 注册

本版积分规则

一键重装系统|雨人系统下载|联系我们|网站地图|过期罐头电脑论坛

GMT+8, 2024-4-19 08:22 , Processed in 0.037715 second(s), 25 queries .

官方免责声明:本站内容来自网友和互联网.若侵犯到您的版权.请致信联系,我们将第一时间删除相关内容!

Powered by Discuz!

专注于win7_win10_win11系统下载装机

© 2010-2023 GQGTPC.Com

快速回复 返回顶部 返回列表