会员
周边
众包
新闻
博问
闪存
所有博客
当前博客
我的博客
我的园子
账号设置
简洁模式
...
退出登录
注册
登录
.NET技术支持者
博客园
::
首页
::
博问
::
闪存
:: ::
联系
::
订阅
::
管理
::
公告
在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;
}
posted on
2005-10-28 19:00
LDAR泄漏检测与修复
阅读(
628
) 评论(
0
)
编辑
收藏
举报
会员力量,点亮园子希望
刷新页面
返回顶部