你可以在编一个独立的程序去干这事,你要在application_start中调用线程的话,等asp.net的若干年后的版本把。

解决方案 »

  1.   

    这个问题有一定的难度,因为这样的动作必须要有一个事件来引发,比如打开一个页面什么的,你可以把当前时间保存在Application变量中,在global.asax的Request_Start中检查这个变量中保存的时间是不是已经过去了六小时,如果是的话就执行你要执行的代码,并把这个变量值重新设为当前时间,有一个问题是,假如没人访问你的网页,那么即使过去了六十小时,该代码也不会运行的!--------------------------------
    AspNetPager 免费分页控件4.1版发布,欢迎下载使用:http://www.webdiyer.com
      

  2.   

    you can try timer(定时器)在组件中,应用定时器来击发你的事件
      

  3.   

    每隔6小时去搜索新闻,再放入我的数据库中这种事情要用window service 去做
      

  4.   

    我估计你可能是用程序去新闻组,下载数据到你的服务器。更新服务器的数据
    如果这样,你可以写个windows server程序。这里不能使用普通的桌面程序。因为
    他(桌面程序)的运行要求登陆到系统.而你的服务器是不需要登陆就可以提供服务的。
      

  5.   

    用一段javascript程序。也可以在html代码的head里加一个刷新代码。
      

  6.   

    你用定时器的话能确保一个网页老开着吗?
    若放在普通页里,定时刷新,最好用 webdiyer的方法,用application记着时间,(若不这样的话会把人家的服务器搞死。)在一个常用的页面程序检查时间,调用更新方法。然后修改application里的时间为当前时间。
    有一个问题是,假如没人访问你的网页你需要更新的新闻数据会堆积的。
      

  7.   

    你可能在Application中设定一个变量,判断是否过了6个小时,只要一过6个小时,自动执行一个ASP.net程序进行更新。只要有人浏览你的网页,此事件就可立即发生,所以也不存在 webdiyer(陕北吴旗娃)所说的“有一个问题是,假如没人访问你的网页,那么即使过去了六十小时,该代码也不会运行的!” 的问题,因为在6小时过后的第一个访客就会发生更新事件。
      

  8.   

    johnsuna(缘来是e)说得对,六小时过后的第一个访客就会引发更新事件,但我没说错啊,假如这第一个访客永远不来的话六百小时又如何?还不是没执行!!!
      

  9.   

    reddg(reddg):
       请问webdiyer是什么方法?数据是不会堆积的,通过其它方法判断,例如标题相同就不更新。另一个小问题:application如果一段时间没有人访问,但没超过6小时,application的值是否就没有了,这时有人访问页面时,即使没有过6小时,也会再更新新闻数据,是不时这样??asp.net能启动线程吗?如果多线程也可以,这样不需加重访问时的负担,从而防止等待时间太长!!
      

  10.   

    你有权限加入job吗?
    有的话你可以写个job
    具体的实现应该是这样的
    首先远端的数据库新闻表应该有三个子段:addtime,modifytime, newsid
    USE MyLocalNewsselect max(addtime) into lastaddtime,max(modifytime) into lastmodifytime from news
    获取最后的时间
    然后
    delete from new where sourceNewsid in (
    SELECT TmpTbl.NewsID
    FROM OPENROWSET('SQLOLEDB','NewsServer';'sa';'Pwd',
       'SELECT NewsID FROM NewsDatabase.Newss where modifytime>' + @lastmodifytime + '') AS TmpTbl)
    GO
    然后
    insert into new SELECT TmpTbl.*
    FROM OPENROWSET('SQLOLEDB','NewsServer';'sa';'Pwd',
       'SELECT NewsID FROM NewsDatabase.Newss where Addtime>' + @lastAddtime + ' or ModifyTIme>' + @LastModifyTime + '') AS TmpTbl
      

  11.   

    自己再改改
    若不能加入job,你就自己wanxl(慢慢来) (把
      

  12.   

    to:wanxl(慢慢来) 
    Application变量在整个应用程序运行期间一直存在,除非重新启动应用程序或服务器。