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();
//
一个删除的方法
}
}
}
查看全文
相关阅读:
基于centos的freeradius高可用lvs(UDP)
sql server 2012的AlwaysOn高可用
python基础题型一
用户访一个APP或者网页流程示意图
DNS解析流程
crontab的定时任务实例
Xcode设置
Nvidia Nsight + .NET
C++ Pointer-to-Member Selector
C++11
原文地址:https://www.cnblogs.com/ghd258/p/253299.html
最新文章
forever 用法
centOS 安装 Webmin
H5浏览器播放RTMP直播流实现切换
screen 命令常用工具命令
CentOS 7下搭建配置 SVN 服务器
JQuery 实现 倒计时 按钮具体方法
mysql 自带的性能压力测试工具
mysql 主从复制
zabbix自动注册
mysql-tar包搭建过程
热门文章
rsync 服务器搭建遇到的问题
nginx压测工具--wrk
linux 用tcpdump查看80端口访问有哪些IP
python 机械学习之sklearn的数据正规化
linux shell系列10 判断某个月中的星期六和星期天
pip 解决下载包速度慢的问题
硬盘分区对齐
centos7设置默认的内核启动
wiki----为用户设置管理员权限
windwos7 vnc连接centos6.6
Copyright © 2011-2022 走看看