词条统计
浏览次数:6723 次
编辑次数:1次 历史版本
最近更新:2013/6/20
创建者:掷鸡蛋者

bet36体育655365.comwojilu framework 自带的定时任务365最新体育网站_365体育网是假不假_365足球体育官方网站,也是基于 CacheObject 的。您自定义的定时任务,最后都需要添加到一个叫?wojilu.Web.Jobs.WebJob?的对象中。

如果要添加一个后台的定时任务,您必须完成如下2个步骤——

?

1、编写一个任务执行对象,实现如下接口

?


?? ?public interface IWebJobItem {

?? ? ? ?void Execute();

?? ? ? ?void End();

?? ?}


?

说明1:其中?Execute()?方法放置您需要执行的代码;

说明2:End()?方法用于清理资源,比如关闭数据库连接。注意:如果定时任务中有数据库连接,记得一定要关闭,因为定时任务是多线程执行的,数据库连接会越积越多,直至数据库无法连接;

说明3:此对象已经纳入IOC管理,所以您可以使用依赖注入。

?

特别说明:Execute()?方法只是定时执行,至于具体要执行什么任务,一般将这些任务缓存到系统中,您可以继承CacheObject,参考本章后面的例子

?

2、给wojilu.Web.Jobs.WebJob?添加一条记录,其中的Type属性指向上面实现了IWebJobItem接口的对象

?


?

说明1:如果属性?Interval<=0,则任务不会定时启动

说明2:Interval?的单位是毫秒(ms)?

?

【注意问题】

对于发去邮件,或者远程抓取页面这样的计划任务,一般在执行一次操作之后,要随机暂停一点时间,以避免被远程服务器封锁。

?