Asp.Net HttpApplication请求管道与Session(一)
1.请求处理顺序执行事件
/********************请求处理顺序执行事件**********************/ /// <summary> /// 请求入站 /// 在此管道中禁止访问Session /// </summary> protected void Application_BeginRequest() { Response.Write("----BeginRequest---"); Response.Write("<br/>"); } /// <summary> /// 发送内容到客户端之前 /// 此管道中禁止访问Session /// </summary> protected void Application_PreSendRequestContent() { Response.Write("----PreSendContent---:"); Response.Write("<br/>"); } /// <summary> /// 页面框架执行 /// 此管道中可以访问Session /// </summary> protected void Application_PostRequestHandlerExecute() { Response.Write("----PostRequestHandlerExecute---count:" + Session.Count + ",当前SessionID:" + Session.SessionID); StringBuilder builder = new StringBuilder(); Response.Write("<div style='text-indent:2em;'>"); foreach (string item in Session.Keys) { string line = string.Format("---{0}:{1}", item, Session[item]); builder.AppendLine(line); } Response.Write(builder.ToString()); Response.Write("</div>"); Response.Write("<br/>"); } /// <summary> /// 页面框架释放请求状态 /// 此管道中禁止访问Session /// </summary> protected void Application_ReleaseRequestState() { Response.Write("----ReleaseRequestStatet---"); Response.Write("<br/>"); } /// <summary> /// 页面框架响应完成 ///此管道,禁止使用Session /// </summary> protected void Application_UpdateRequestCache() { Response.Write("----UpdateRequestCache---"); Response.Write("<br/>"); } /// <summary> /// 请求出站 /// 此管道中禁止访问Session /// </summary> protected void Application_EndRequest() { Response.Write("----EndRequest---"); Response.Write("<br/>"); }
没有添加Session数据前访问:
添加Session 数据后访问:
更多: