有一个refreshhotnew.aspx页面,在page_load方法里有一段代码,用于从数据库中读出符合条件的记录,然后把这些结果写入一个hotnews.htm页面中。
我想让这个refreshhotnews.aspx页面在服务器端定时自动执行,以达到定时自动更新hotnews.htm内容的效果,请问怎么样才能实现呀?

解决方案 »

  1.   

    做成form形式用timer.我就用它自动发送信息每天
      

  2.   

    怎么做成form形式呀?你是说把那个.aspx页面做成winform吗?我的那个refreshhotnews.aspx页面里page_load的代码是往hotnews.htm页面里写东西,有没有什么其他的方法自动执行这个往htm页面里写东西的程序呀?
      

  3.   

    就是让页面自动刷新是吗?
    <head>
      <meta http-equiv="refresh" content="2";URL=http://你的网址”>
    </head>
      

  4.   

    <meta http-equiv="refresh" content="2";URL=http://你的网址”>
    用上面的代码自动刷新的话是不是需要打开这个网页呀,
    我的意思是这个页面不用浏览器打开就可以自动在服务器端运行呢?
    感觉好像不行,
    那么有没有什么办法,例如说在Global.asax.cs里面写那段更新hotnews.htm页面的代码呀?
      

  5.   

    用脚本定时 执行refreshhotnews.aspx
      

  6.   

    其实我要实现的功能是这样的:
    有一个显示当前系统中热门新闻列表的hotnews.htm文件,里面的内容是通过refreshhotnews.aspx页面里的一个StreamWriter写进去的,
    而这个hotnews.htm文件被引用在所有显示新闻内容的页面中
    这样用户打开新闻内容页面后可以浏览到当前系统最热门的新闻列表。
    我想让那个hotnews.htm的内容每个10分钟就更新一次,
    这就需要执行那个refreshhotnews.aspx页面才可以,
    不可能人工每隔10分钟就去访问refreshhotnews.aspx页面吧
    所以我想知道如果要实现上面的功能有什么其它的办法?
      

  7.   

    请问rainie1020,你说的用脚本定时执行的代码该怎么写呀?脚本放到哪里?
      

  8.   

    那请问脚本该怎么写呀?是javascript的脚本吗?
      

  9.   

    javascript的脚本setTimeout("Pulsate()",interval);//Pulsate()为自定义的执行refreshhotnews.aspx的相关函数
      

  10.   

    求你,帮我写一下那个javascript的脚本吧,谢谢了
      

  11.   

    不对,如果把脚本放到htm页面中,岂不是只要是客户端打开了包含这个htm页面的文件,就向服务器提出执行那个aspx页面的请求吗?这样服务器的压力不就太大了,
    我的意思是指在服务器端自动执行,而不考虑用户是不是访问了页面
      

  12.   

    <script language="javascript">
      var interval = 5000;//5秒
      var count = 0;
      function Init()
      {
          setTimeout("Pulsate()",interval);
      }

      function Pulsate()
      {
          location.href="refreshhotnews.aspx";
          setTimeout("Pulsate()",interval);
      }

    </script>
      

  13.   

    var count = 0;
    这个不要了
      

  14.   

    如zibba_MT所说
    如果要实现页面上动态刷新数据的话,应该是客户端打开了这个页面的情况下,而不是服务器来定时刷新,如果没人访问页面的话,你服务器也在执行这断代码?这样不好吧
      

  15.   

    对,就好像是windwos的计划任务一样,到时间就执行这段程序,好让那个页面的内容更新,这样服务器的压力不会太大,而且用户访问的话也不会影响访问的速度
      

  16.   

    那就把脚本放在要刷新的页面上就可以啦
    你总得有个页面开着的啊
    比如windows  系统就一直在工作
      

  17.   

    http://blog.csdn.net/net_lover/archive/2003/08/27/6943.aspx
      

  18.   

    在Global文件里的:Application_Begin事件中启动一个Timer。这个Timer每十分钟执行一次你要做的事情。或者执行一次你要执行的页面:
    System.Net.WebRequest request = WebRequest.Create("你的页面.aspx");
    request.GetResponse().Close();
      

  19.   

    用系统的计划任务可以实现,本人早就用过了,如何設定計劃任務每天定時運行?
    打開記事本,輸入:C:\WINNT(SystemDir)\explorer.exe http://。。/。。/。。aaa.aspx
    保存爲*.bat文件,然後在計劃任務裏面設定時間運行此*.bat文件。
      

  20.   

    web应用程序的特点是:
    first request,and then response
    没有request,就不会有response,在没有request的情况下服务器无法主动向客户端发送response,因此你无法在服务器端通过定时执行向客户端发送动态的hotnews.htm内容,只能通过前面几位朋友的介绍,首先在hotnews.htm客户端每隔一定的时间发出request才行。
      

  21.   

    可能是我的意思没有表达清楚,那我就再解释一下吧
    前面我说到的hotnews.htm页面上记录的是目前数据库表中点击率比较高的帖子题目的列表
    那么这个hotnews.htm的内容是怎么得到的呢?就是通过那个refreshhotnews.aspx页面里的StreamWriter写进去的。
    那么这个hotnews.htm的内容应该是动态的才对,也就是说每隔一段时间,就往这个hotnews.htm页面里重新写一下当前数据库表中点击率高的帖子题目的列表。
    我之所以想问如何让那个往hotnews.htm页面里写文件的StreamWriter自动在服务器端执行(也就是在服务器端让那个refreshhotnews.aspx页面自动在ie里面打开一下),这样服务器端的hotnews.htm页面的内容就随之更新。这样做对于客户端来说是透明的,浏览页面的速度也应该比较快吧。
    如果照前面几位说的只有客户端发出request,服务器端给出response才可行的话,那么只要有一个客户端浏览了那个hotnews.htm页面,那个里面的代码(也就是让其刷新的请求代码)就会每个一段时间向服务器提出请求,那么服务器也就需要对其作出响应,如果要是有成千上万、上百万的客户端都在访问这个hotnews.htm页面,那么服务器端的压力岂不是太大了,对吧!
    不知道我的意思说明白了没,不过还是要谢谢各位的帮忙!
      

  22.   

    windows的计划任务最小只能设置到天,不合适
      

  23.   

    谢谢www_123du_com和孟子E章,问题解决了,搞定!