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();
//
一个删除的方法
}
}
}
查看全文
相关阅读:
Selenium WebDriver基础操作教程
C# 运行cmd 并 执行命令语句
【JAVA习题二】判断101-200之间有多少个素数,并输出所有素数。
【JAVA习题一】古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一 对兔子,假如兔子都不死,问每个月的兔子总数为多少?
【JAVA随摘笔记一】进制转换
【C++初学者自学笔记三】哑元函数、缺省参数、内联函数(模块二,PS:需要用到重载函数)
【C++初学者自学笔记二】函数重载(模块一)
【JAVA蓝桥杯】基础练习2 十六进制转十进制
【JAVA蓝桥杯】基础练习1 十进制转十六进制
【C++初学者自学笔记一】(把自己刚学到的东西做一下总结,如果有哪些地方不足请留言指正)
原文地址:https://www.cnblogs.com/ghd258/p/253299.html
最新文章
ATR评估
MATLAB 常用命令
一些 学习方法总结
SIFT算法
系统报 “客户端没有所需的特权” 的解决方法
vant
关闭windows自动更新
win7系统提示当前页面的脚本发生错误的解决方法
oracle时间等于查询处理
element-ui版本升级
热门文章
表单设计器
Element删除页面数据后,后台少查询一次
项目怎样解除SVN的版本控制
SVN服务器搭建和使用
使用UI Automation库用于UI自动化测试
C#的Socket通信Demo
C#解析XML为List集合
C#对文件的读取处理
在OpenQA.Selenium(C#)中找不到WebDriverWait类
Selenium
Copyright © 2011-2022 走看看