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 窗体设计器生成的代码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();//一个删除的方法
}
}
}
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 窗体设计器生成的代码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();//一个删除的方法
}
}
}