Asp.Net HttpApplication请求管道与Session(一)

本文详细介绍了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 数据后访问:

更多:

Asp.Net HttpApplication请求管道与Session(二)

Asp.Net HttpApplication 事件汇总

ASP.NET的Application简介1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值