服务器更新网站,分享自动更新网站的方法

今天来聊聊一篇关于分享自动更新网站的方法的文章,现在就为大家来简单介绍下分享自动更新网站的方法,希望对各位小伙伴们有所帮助。

3ba90902c269b0653e6fec34b52bd14c.png

详细原理:

1) Windows服务端:

Windows服务采用.Net Framework2.0框架,所以使用时应该先安装好.Net Framework2.0,

采用一个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++)

{

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)

{

//到了执行时间

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

{

//访问网址,如 手机主题 http://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();//得到回写的字节流

Log.SaveNote(访问: + url);

}

catch (Exception ex)

{

Log.SaveNote(访问失败: + url);

Log.SaveException(ex);

}

finally

{

if (receiveStream != null)

receiveStream.Close();

if (myHttpWebResponse != null)

myHttpWebResponse.Close();

}

}

2) 网站端:

网站端应该采用审核机制,比如一个表News表,设置字段isaccept为审核字段,1表示已审核,0表示未审核,新增的内容默认为未审核0。我们在平时的时候多添加一些内容到未审核库中,然后交给程序来自动更新。更新程序可以采用任何动态网页技术,asp、php、jsp都可以,该程序的作用就是把未审核的内容更改为审核状态,为了灵活起见,可以设置一个表示更新数量的查询字符串变量给程序,如num,则更新3条的网址就变成http://***.**>A.asp?num=3这种形式,这个网址可以在Windows服务的配置文件中设置好。本文的重点是讲采用Windows服务来进行网站更新,所以具体网站端的代码我就没有写出来了,各位站长可以根据自己网站的情况来编写。Windows服务是与网站端没有业务逻辑关联的,windows服务只管定期的来访问网站端的更新网址,而网站端的更新网址只管更新的业务逻辑。

相信通过分享自动更新网站的方法这篇文章能帮到你,在和好朋友分享的时候,也欢迎感兴趣小伙伴们一起来探讨。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值