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();
//
一个删除的方法
}
}
}
查看全文
相关阅读:
Python 进阶
Python 基础
Python 基础
Python 基础
php extension memcache and memcached module on centos6
前端基础-JavaScript的基本概述和语法
前端基础-CSS如何布局以及文档流
前端基础-CSS的属性相关设置
前端基础-CSS的各种选择器的特点以及CSS的三大特性
前端基础-CSS是什么?
原文地址:https://www.cnblogs.com/ghd258/p/253299.html
最新文章
Redis初见
Eclipse中安装反编译插件
echarts报错ReferenceError: require is not defined
Echarts中的元素
关于使用百度地图插件的显示行政区域的操作
President's Office
胜利大逃亡
789A Anastasia and pebbles
Knight Moves
Knight Moves
热门文章
A^B mod C
数塔取数
796B Find The Bone
最大字段和
大数加法java版
Linux服务器中木马(肉鸡)手工清除方法
自动删除Mysql备份(数组+for)
Zabbix自带模板监控MySQL
centos6.X使用Apache+Mono搭建asp.net 环境
Python 基础
Copyright © 2011-2022 走看看