惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Apple Machine Learning Research
Apple Machine Learning Research
Jina AI
Jina AI
博客园_首页
WordPress大学
WordPress大学
罗磊的独立博客
小众软件
小众软件
Last Week in AI
Last Week in AI
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Hugging Face - Blog
Hugging Face - Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
爱范儿
爱范儿
The Cloudflare Blog
GbyAI
GbyAI
C
Check Point Blog
腾讯CDC
MyScale Blog
MyScale Blog
有赞技术团队
有赞技术团队
博客园 - 聂微东
IT之家
IT之家
雷峰网
雷峰网
H
Help Net Security
博客园 - 叶小钗
美团技术团队
D
DataBreaches.Net

博客园 - Awen

asp.net插件实现 一些顶级的设计站点(陆续更新) Monorail的一些常用的东西(验证码,分页。。。持续更新) 基于Monorail的系统功能模块化 SubSonic:我想要的动态查询 SubSonic:亚音速之光 一个顶N个的NextResult 自娱自乐 3.5 -开篇有益 WinFormUI-Docking初级使用 一个喜欢网页设计的程序员 一个关于Excel的处理类(部分参考网络上) 抛开映射关系,不oo的数据访问写法 Javascript改观过程2 Javascript改观过程1 - Awen - 博客园 CEIMS项目笔记2:重复的,让工具做去! 备份&收集(持续更新)! CEIMS开发日记:项目计划 Jsp,.net! asp.net优化探讨系列(3)
asp.net定时任务实现(原创)
Awen · 2008-08-19 · via 博客园 - Awen

定时任务一般都是要有个定时器来定时触发任务的,在.net下也有几个选择,如System.Timers.Timer 等,代码示例

Code

然后可以选择在自定义HttpModule的Init方法或者Globals.aspx中的Application_OnStart 中调用定时器。实现也很雅观,不过俺想到了另外一种方法,应该有人用,但是好像还没看到这样用的,呵呵,发出来探讨探讨,呵呵

那就是利用cache的缓存移除通知,到这里你应该想到了吧,首先我们对cache设置一定的过期时间,并为其添加过期的缓存移除回调,那么当到达你设定的时间,缓存过期,自动执行回调的方法,感觉是不是也很清爽呢,最近的工作是在维护一个论坛,那就以论坛为例子,定时检测一些及时数据,如在线人数,新帖信息等。

首先第一次当然是读取数据然后缓存咯,这步跳过,然后放进缓存,这步也跳过,加缓存依赖,这步也。。。当然不能跳过啦,跳过了还怎么定时我的任务呢,呵呵

HttpContext.Current.Cache.Add("TimerReport",
                CreateReport(), 
null, DateTime.MaxValue,
                
new TimeSpan(010), 
                System.Web.Caching.CacheItemPriority.Default,
                MyCallback);

 关于缓存的实用就查查msdn吧,避免copy msdn的嫌疑!这样,每一分钟后,MyCallback这个方法就会被调用,可以在里面操作发邮件,删除过期信息等,是否觉得很方便呢!就权当奇淫技巧吧,哈哈哈。。。。