global用法及示例
1 Application_Start(程序启动)
2.Application_BeginRequest(开始请求)
3.Application_AuthenticateRequest(验证鉴别身份,身份通过后授权)
4.Application_AuthorizeRequest(授权)
5.Application_ResolveRequestCache(授权后读取缓存服务)
6.Application_AcquireRequestState(获得请求状态)
7.Application_PreRequestHandlerExecute(请求执行)
8.Application_PostRequestHandlerExecute(事件执行后触发)
9.Application_ReleaseRequestState(执行完所有事件后触发)
10.Application_UpdateRequestCache(更新程序请求的缓存数据)
11.Application_EndRequest(结束一个请求事件)
12.Application_PreSendRequestHeaders(发送给客户端头预处理)
一.简单访问量统计示例
protected void Application_Start(object sender, EventArgs e) { Application["user_sessions"] = 0; } protected void Session_Start(object sender, EventArgs e) { Application.Lock(); Application["user_sessions"] = (int)Application["user_sessions"] + 1; Application.UnLock(); } protected void Application_BeginRequest(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) { Application.Lock(); Application["user_sessions"] = (int)Application["user_sessions"] - 1; Application.UnLock(); } protected void Application_End(object sender, EventArgs e) { }
二.计时器
- 首先引入命名空间
using System.Timers;
using System.IO; - 在 Global.asax 中加入静态对象(变量)
public static Timer gtimer = null; // 定义全局定时器类对象
public static int gcount = 0; // 测试用计时器变量 - 在 Global.asax 中的 Application_OnStart 事件过程中定义计时器,代码如下:
protected void Application_Start(Object sender, EventArgs e)
{
// 创建一个计时器,单位:毫秒
gtimer = new Timer(1000);
// 将自定义用户函数(TimerEventFunction)指定为计时器的 Elapsed 事件处理程序
// TimerEventFunction 可以写入自己的需要执行的代码逻辑
gtimer.Elapsed += new System.Timers.ElapsedEventHandler(this.TimerEventFunction);
// AutoReset 属性为 true 时,每隔指定时间间隔触发一次事件
// 若赋值 false,则只执行一次
gtimer.AutoReset = true;
gtimer.Enabled = true;
} - TimerEventFunction 函数代码如下:
// 定时器定时触发控件
protected void TimerEventFunction(Object sender, ElapsedEventArgs e)
{
// 这里写入自定义代码
gcount += 1;
FileInfo file = new FileInfo("C:\\" + gcount.ToString() + ".txt");
file.Create(); // 创建文件,定时执行此过程将不停的创建文件
}