none
asp,net可以按照时间条件执行吗? RRS feed

  • 问题

  • 我有一个Cache表,这张表中存储了订单今天的信息
    我想叫他在0:00时更新这张cache
    我要如何做那,我现在的办法是写了一个页面这个页面我每天上班执行一次@~@
    我就是想叫他自动执行,计划任务是没戏了,空间不支持

    2009年3月3日 3:47

答案

  • 不用这么麻烦,Cache自己就可以实现,
    Cache.Insert(String, Object, CacheDependency, DateTime, TimeSpan, CacheItemUpdateCallback)) 方法在插入的时候可以指定时间的,并且可以设置过期的时候进行一些操作,

    孟宪会
    2009年3月3日 5:13
    版主
  • 使用CacheItemUpdateCallback 委托或者CacheItemRemovedCallback 委托 ,在过期时可以进行一些操作啊,可用来在从缓存中移除项之前通知应用程序


    (String, Object, CacheDependency, DateTime, TimeSpan, CacheItemPriority, CacheItemRemovedCallback)
    例子参见
    http://msdn.microsoft.com/zh-cn/library/system.web.caching.cacheitemremovedcallback.aspx

    http://msdn.microsoft.com/zh-cn/library/05kd8d77.aspx

    孟宪会
    2009年3月3日 5:53
    版主
  • 如何:从缓存中移除项时通知应用程序

    http://msdn.microsoft.com/zh-cn/library/7kxdx246.aspx

    孟宪会
    2009年3月3日 6:10
    版主

全部回复

  • 我想到一个就是在Application里面加一个time来做比对
    但是这个东西是不是一打开就相当于for(::)
    停不下来了
    2009年3月3日 4:09
  • 可以在 application-onstart 里面   建立一个  thread  无限循环执行

    你怕 循环没完没了   可以在  循环 里面  thread.sleep 一段时间  比如一小时


    就算首页不能显示30天内排行榜 回答总数也快接近top10了 5555
    努力奋斗 重回首页排行榜!!! 55555
    有原则的回答问题: 不懂的不去装懂,别人回答得很完整的,没有需要补充的不去蹭分。
    2009年3月3日 4:12
  • 韦恩卑鄙 说:

    可以在 application-onstart 里面   建立一个  thread  无限循环执行

    你怕 循环没完没了   可以在  循环 里面  thread.sleep 一段时间  比如一小时


    就算首页不能显示30天内排行榜 回答总数也快接近top10了 5555
    努力奋斗 重回首页排行榜!!! 55555
    有原则的回答问题: 不懂的不去装懂,别人回答得很完整的,没有需要补充的不去蹭分。



    一个小时??,我就是想叫段程序在0:00时执行,我上面说的是我的一个粗浅的想法,但是仔细想有感觉好像有问题
    2009年3月3日 4:20
  • 设置sleep 1小时  然后看看现在的  time 是不是0点-1点。


    就算首页不能显示30天内排行榜 回答总数也快接近top10了 5555
    努力奋斗 重回首页排行榜!!! 55555
    有原则的回答问题: 不懂的不去装懂,别人回答得很完整的,没有需要补充的不去蹭分。
    2009年3月3日 4:27
  • 不用这么麻烦,Cache自己就可以实现,
    Cache.Insert(String, Object, CacheDependency, DateTime, TimeSpan, CacheItemUpdateCallback)) 方法在插入的时候可以指定时间的,并且可以设置过期的时候进行一些操作,

    孟宪会
    2009年3月3日 5:13
    版主
  • 孟宪会 说:

    不用这么麻烦,Cache自己就可以实现,
    Cache.Insert(String, Object, CacheDependency, DateTime, TimeSpan, CacheItemUpdateCallback)) 方法在插入的时候可以指定时间的,并且可以设置过期的时候进行一些操作,


    孟宪会



    您看我这样行不
            if (HttpContext.Current.Application["UpTime"]==null){
                HttpContext.Current.Application["UpTime"] = DateTime.Today.ToString("yyyy-mm-dd");
            }
            if (HttpContext.Current.Application["UpTime"].ToString() != DateTime.Today.ToString("yyyy-mm-dd")){
                DB.UpCacheAndTable();
            }
    要跟新的不光是Cache还有一些表格,要根据当前Cache中的包的不同状态来更新
    2009年3月3日 5:29
  • 使用CacheItemUpdateCallback 委托或者CacheItemRemovedCallback 委托 ,在过期时可以进行一些操作啊,可用来在从缓存中移除项之前通知应用程序


    (String, Object, CacheDependency, DateTime, TimeSpan, CacheItemPriority, CacheItemRemovedCallback)
    例子参见
    http://msdn.microsoft.com/zh-cn/library/system.web.caching.cacheitemremovedcallback.aspx

    http://msdn.microsoft.com/zh-cn/library/05kd8d77.aspx

    孟宪会
    2009年3月3日 5:53
    版主
  • 如何:从缓存中移除项时通知应用程序

    http://msdn.microsoft.com/zh-cn/library/7kxdx246.aspx

    孟宪会
    2009年3月3日 6:10
    版主