zoukankan
html css js c++ java
Global中使用线程隔时执行一项任务
在Global中使用线程隔时执行一项任务
GLOBAL中线程的应用(书中学习,整理了一下),以下是过5分钟删除一张表的记录
using
System;
using
System.Collections;
using
System.ComponentModel;
using
System.Web;
using
System.Web.SessionState;
using
DataBase;
using
System.Data.SqlClient;
using
System.Web.Security;
using
System.IO ;
using
System.Threading;
namespace
FreightCom
{
/**/
///
<summary>
///
Global 的摘要说明。
///
</summary>
public
class
Global : System.Web.HttpApplication
{
/**/
///
<summary>
///
必需的设计器变量。
///
</summary>
private
System.ComponentModel.IContainer components
=
null
;
private
OnLineUser ou
=
new
OnLineUser();
private
UserLoginInfo Login
=
new
UserLoginInfo();
public
Global()
{
InitializeComponent();
}
protected
void
Application_Start(Object sender, EventArgs e)
{
SchedulerAgent.StartAgent();
}
protected
void
Session_Start(Object sender, EventArgs e)
{
}
protected
void
Application_BeginRequest(Object sender, EventArgs e)
{
}
protected
void
Application_EndRequest(Object sender, EventArgs e)
{
}
protected
void
Application_AuthenticateRequest(Object sender, EventArgs e)
{
}
protected
void
Application_Error(Object sender, EventArgs e)
{
}
protected
void
Session_End(Object sender, EventArgs e)
{
}
protected
void
Application_End(Object sender, EventArgs e)
{
SchedulerAgent.Stop();
}
Web 窗体设计器生成的代码
#region
Web 窗体设计器生成的代码
/**/
///
<summary>
///
设计器支持所需的方法 - 不要使用代码编辑器修改
///
此方法的内容。
///
</summary>
private
void
InitializeComponent()
{
this
.components
=
new
System.ComponentModel.Container();
}
#endregion
}
public
interface
ISchedulerJob
{
void
Execute();
}
public
class
SchedulerConfiguration
{
private
int
sleepInterval;
private
ArrayList jobs
=
new
ArrayList();
public
int
SleepInterval
{
get
{
return
sleepInterval;}
}
public
ArrayList Jobs
{
get
{
return
jobs;}
}
public
SchedulerConfiguration(
int
newSleepInterval)
{
sleepInterval
=
newSleepInterval;
}
}
public
class
Scheduler
{
private
SchedulerConfiguration configuration
=
null
;
public
Scheduler(SchedulerConfiguration config)
{
configuration
=
config;
}
public
void
Start()
{
while
(
true
)
{
try
{
foreach
(ISchedulerJob job
in
configuration .Jobs)
{
job.Execute();
}
}
catch
{}
finally
{
Thread.Sleep(configuration.SleepInterval);
}
}
}
}
public
class
SchedulerAgent
{
private
static
System.Threading.Thread schedulerThread
=
null
;
public
static
void
StartAgent()
{
SchedulerConfiguration config
=
new
SchedulerConfiguration(
1000
*
300
);
//
设置时间,此处为5分钟
config.Jobs.Add(
new
AlertJob());
Scheduler scheduler
=
new
Scheduler(config);
System.Threading.ThreadStart myThreadStart
=
new
System.Threading.ThreadStart(scheduler.Start);
schedulerThread
=
new
System.Threading.Thread(myThreadStart);
schedulerThread.Start();
}
public
static
void
Stop()
{
if
(
null
!=
schedulerThread)
{
schedulerThread.Abort();
}
}
}
public
class
AlertJob:ISchedulerJob
{
private
OnLineUser ou
=
new
OnLineUser();
public
void
Execute()
{
ou.UserDelOnline();
//
一个删除的方法
}
}
}
查看全文
相关阅读:
eclipse中如何修改编码格式
如何让Div中的Table居中
EL表达式和标准标签库
jQuery获取option的一些常用方法
第三十五章——过滤器和监听器
第三十四章——java web的注册登录和留言板的制作
关于九大内置对象的补充——application
第三十三章——javaweb初识和九大内置对象
学习记录
从 HTTP 到 HTTPS 再到 HSTS
原文地址:https://www.cnblogs.com/ghd258/p/253299.html
最新文章
MVC中一般为什么用IQueryable而不是用IList?
1.3高级抽象的异步任务
1.2低级线程处理API
1.1多线程基础
Task.Run与Task.Factory.StartNew的区别
隐式类型转换与显示类型转换
常用VIM命令
C#常用的单元测试框架
面向对象 “上”
二分查找发是什么
热门文章
JAVA 运算符、定义变量和分支循环
java基础
表单验证
进度条
大图轮播间隔播放
document 对象后续
document 对象 html文档内容
DOM 操作之Windows对象 窗口操作
jquery刷新iframe页面的方法
According to TLD or attribute directive in tag file, attribute value does not accept any expressions
Copyright © 2011-2022 走看看