在B/S系统中引入定时器的功能
2005-07-28 16:56
351 查看
过去的一些使用ASP技术开发的B/S系统中,需要系统定时执行一些方法时一直都找不到好的解决方案(如果有,那一定是我浅薄了,我们讨论讨论。)。现在在ASP。NET中可以使用自定义实现IHttpModule接口的类来加载一个定时器。
public class OilIHttpModule : IHttpModule { public static Timer analyseTimer;//分析数据的定时器 static int intLastTrialInfo_id;//最后分析的ID static long intAnalyseInterval= 10000;//间隔的时间 public OilIHttpModule() { } public String ModuleName { get { return "OilModule"; } } ///初始化模型 public void Init(HttpApplication application) { application.BeginRequest += (new EventHandler(this.Application_BeginRequest));//增加处理请求时触发的事件 if(intLastTrialInfo_id==0) { //获取最后分析的 trialInfo_id intLastTrialInfo_id = globalMethod.getLastAnalyseTrialInfo_id(); } //判断Timer是否存在,如果没有则实例化 if(analyseTimer==null) analyseTimer = new Timer(new TimerCallback(analyseData),null,intAnalyseInterval,intAnalyseInterval); }
private void Application_BeginRequest(Object source, EventArgs e) { //null // HttpApplication application = (HttpApplication)source; // application.Response.Write(intLastTrialInfo_id.ToString()); } ///要定时执行的程序片段 private void analyseData(object obj) { ///很重要,可以防止定时器被重新生成 analyseTimer.Change( System.Threading.Timeout.Infinite, intAnalyseInterval ); // StatsInterval int intTrialInfo_idAfterUpdate; intTrialInfo_idAfterUpdate = globalMethod.AnalyseTrialFromTrialInfo_id(intLastTrialInfo_id); if(intTrialInfo_idAfterUpdate > intLastTrialInfo_id) { intLastTrialInfo_id = intTrialInfo_idAfterUpdate; } } public void Dispose() { analyseTimer = null;
}
相关文章推荐
- 在B/S系统中引入定时器的功能
- 在B/S系统中引入定时器的功能
- 基于 Linux 和 MiniGUI 的嵌入式系统软件开发指南(七) MiniGUI 1.1.0 引入的新 GDI 功能和函数之二
- 基于 Linux 和 MiniGUI 的嵌入式系统软件开发指南七——MiniGUI 1.1.0 引入的新 GDI 功能和函数之二
- 用linux系统API实现定时器功能
- 基于 Linux 和 MiniGUI 的嵌入式系统软件开发指南(五) MiniGUI 1.1.0 版本引入的新 GDI 功能和函数
- 基于 Linux 和 MiniGUI 的嵌入式系统软件开发指南五——MiniGUI 1.1.0 版本引入的新 GDI 功能和函数
- 重装系统更容易 - 微软为Windows 8引入“复位”和“刷新”功能
- 基于OpenGL的Android系统视频转换功能实现
- iOS-系统定位功能
- 项目实战篇-餐馆管理系统—MFC,PHP,MySql:2.登陆功能的实现
- 隐藏文件夹的功能(系统api的拦截)
- 第十二周项目 4 银行系统(引入函数改善程序结构)
- [ECshop系统]ECtouch如何接入手机短信验证功能
- 第十二周项目四银行系统任务二---引入函数改善程序结构
- 第二章上机练习1 我的银行系统的取款功能
- spring(十):为特定的类引入新的功能
- 模块管理常规功能自己定义系统的设计与实现(53--演示程序和视频解说 )
- 如何在 Laravel 中 “规范” 的开发验证码发送功能【社交系统ThinkSNS研发日记十一】