public class NewModule:IHttpModule
{
public NewModule()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
#region IHttpModule 成员
public void Dispose()
{
throw new Exception("The method or operation is not implemented.");
}
public void Init(HttpApplication context)
{
HttpApplication app =context;
app.BeginRequest += new EventHandler(app_BeginRequest);
app.EndRequest += new EventHandler(app_EndRequest);
app.AuthenticateRequest += new EventHandler(app_AuthenticateRequest);//安全模块建立用户标志时
app.AuthorizeRequest += new EventHandler(app_AuthorizeRequest);//安全模块验证用户授权时
app.ResolveRequestCache += new EventHandler(app_ResolveRequestCache);//当完成授权验证事件,缓存模块为请求提供服务时发生,从而跳过webservice或页处理
app.AcquireRequestState += new EventHandler(app_AcquireRequestState);//ASPNET获取与当前请求关联的会话状态时发生
app.PreRequestHandlerExecute += new EventHandler(app_PreRequestHandlerExecute);//恰好在页处理或webservice之前发生
app.PostRequestHandlerExecute += new EventHandler(app_PostRequestHandlerExecute);//请求处理完成时发生
app.PostAcquireRequestState += new EventHandler(app_PostAcquireRequestState);//在已经获得与请求关联的状态时发生
app.PostAuthenticateRequest += new EventHandler(app_PostAuthenticateRequest);//安全已经建立用户标志时
app.PostAuthorizeRequest += new EventHandler(app_PostAuthorizeRequest);//安全模块完成验证用户授权时
app.PostMapRequestHandler += new EventHandler(app_PostMapRequestHandler);//aspnet完成请求到处理的映射时发生
app.ReleaseRequestState += new EventHandler(app_ReleaseRequestState);//aspnet完成所有事件处理,状态模块保存当前状态数据时
app.UpdateRequestCache += new EventHandler(app_UpdateRequestCache);//缓存模块缓存响应时发生
app.PreSendRequestHeaders += new EventHandler(app_PreSendRequestHeaders);//aspnet向客户端发送header之前发生
app.PreSendRequestContent += new EventHandler(app_PreSendRequestContent);//aspnet向客户端发送CONTENT之前发生
app.PostUpdateRequestCache += new EventHandler(app_PostUpdateRequestCache);//缓存更新完毕后发生
app.PostResolveRequestCache += new EventHandler(app_PostResolveRequestCache);//利用了缓存满足请求,跳过了处理程序时发生
app.PostReleaseRequestState += new EventHandler(app_PostReleaseRequestState);//aspnet完成所有事件处理,状态模块保存当前状态数据完毕时
}
void app_AcquireRequestState(object sender, EventArgs e)
{
HttpApplication app = (HttpApplication)sender;
app.Response.Write("AcquireRequestState获取与当前请求关联的会话状态时发生<br/>");
app.Session["ok"] = "pk";//通知可以建立有效时间内的session
app.Response.Write("<font color='red'>");
app.Response.Write("IsNewSession:<color=red>" + app.Session.IsNewSession.ToString() + "</color><br/>");
app.Response.Write("sessionID:" + app.Session.SessionID + "<br/>");
app.Response.Write("Cookie-sessionID:" + app.Request.Headers.Get("Cookie") + "<br/>");
app.Response.Write("mode:"+app.Session.Mode.ToString()+"</br>");
app.Response.Write("</font>");
}
void app_PostReleaseRequestState(object sender, EventArgs e)
{
HttpApplication app = (HttpApplication)sender;
app.Response.Write("PostReleaseRequestState完成所有事件处理,状态模块保存当前状态数据完毕时<br/>");
}
void app_PostResolveRequestCache(object sender, EventArgs e)
{
HttpApplication app = (HttpApplication)sender;
app.Response.Write("PostResolveRequestCache利用了缓存满足请求,跳过了处理程序时发生<br/>");
}
void app_PostUpdateRequestCache(object sender, EventArgs e)
{
HttpApplication app = (HttpApplication)sender;
app.Response.Write("PostUpdateRequestCache缓存更新完毕后发生<br/>");
}
void app_PreSendRequestContent(object sender, EventArgs e)
{
HttpApplication app = (HttpApplication)sender;
app.Response.Write("PreSendRequestContent<br/>");
}
void app_PreSendRequestHeaders(object sender, EventArgs e)
{
HttpApplication app = (HttpApplication)sender;
app.Response.Write("PreSendRequestHeaders<br/>");
}
void app_UpdateRequestCache(object sender, EventArgs e)
{
HttpApplication app = (HttpApplication)sender;
app.Response.Write("UpdateRequestCache<br/>");
}
void app_ReleaseRequestState(object sender, EventArgs e)
{
HttpApplication app = (HttpApplication)sender;
app.Response.Write("ReleaseRequestState完成所有事件处理,状态模块保存当前状态数据时<br/>");
}
void app_PostMapRequestHandler(object sender, EventArgs e)
{
HttpApplication app = (HttpApplication)sender;
app.Response.Write("PostMapRequestHandleraspnet完成请求到处理的映射时发生<br/>");
}
void app_PostAuthorizeRequest(object sender, EventArgs e)
{
HttpApplication app = (HttpApplication)sender;
app.Response.Write("PostAuthorizeRequest当完成授权验证事件,<br/>");
}
void app_PostAuthenticateRequest(object sender, EventArgs e)
{
HttpApplication app = (HttpApplication)sender;
app.Response.Write("PostAuthenticateRequest安全模块完成建立用户标志<br/>");
}
void app_PostAcquireRequestState(object sender, EventArgs e)
{
HttpApplication app = (HttpApplication)sender;
app.Response.Write("PostAcquireRequestStateASPNET获取与当前请求关联的会话状态后发生<br/>");
}
void app_PostRequestHandlerExecute(object sender, EventArgs e)
{
HttpApplication app = (HttpApplication)sender;
app.Response.Write("PostRequestHandlerExecute请求处理完成时发生<br/>");
}
void app_PreRequestHandlerExecute(object sender, EventArgs e)
{
HttpApplication app = (HttpApplication)sender;
app.Response.Write("PreRequestHandlerExecute<br/>");
}
void app_ResolveRequestCache(object sender, EventArgs e)
{
HttpApplication app = (HttpApplication)sender;
app.Response.Write("ResolveRequestCache<br/>");
}
void app_AuthorizeRequest(object sender, EventArgs e)
{
HttpApplication app = (HttpApplication)sender;
app.Response.Write("AuthorizeRequest<br/>");
}
void app_AuthenticateRequest(object sender, EventArgs e)
{
HttpApplication app = (HttpApplication)sender;
app.Response.Write("AuthenticateRequest<br/>");
}
void app_EndRequest(object sender, EventArgs e)
{
HttpApplication app = (HttpApplication)sender;
app.Response.Write("EndRequest<br/>");
}
void app_BeginRequest(object sender, EventArgs e)
{
HttpApplication app=(HttpApplication)sender;
app.Response.Write("beginRequest<br/>");
// app.CompleteRequest();
}
#endregion
}