您的位置:首页 > 理论基础 > 计算机网络

利用IHttpHandler计算页面的执行时间

2007-11-01 22:00 489 查看
使用自定义的PageHandler处理所有的aspx页面 获取页面的执行时间

 


 using System;


 using System.Web;


 using System.Web.UI;


 using System.Web.SessionState;


 


 namespace Cuyahoga.Web.HttpHandlers




 ...{




     /**//**//**//// <summary>


     /// This class handles all aspx page requests for Cuyahoga.


    /// </summary>


    public class PageHandler : IHttpHandler, IRequiresSessionState




    ...{




        IHttpHandler MembersIHttpHandler Members#region IHttpHandler Members






        /**//**//**//// <summary>


        /// Process the aspx request. This means (eventually) rewriting the url and registering the page 


        /// in the container.


        /// </summary>


        /// <param name="context"></param>


        public void ProcessRequest(HttpContext context)




        ...{


            string rawUrl = context.Request.RawUrl;


            DateTime startTime = DateTime.Now;




            // Obtain the handler for the current page


            string aspxPagePath = rawUrl.Substring(0, rawUrl.IndexOf(".aspx") + 5);


 
b487
           IHttpHandler handler = PageParser.GetCompiledPageInstance(aspxPagePath, null, context);




            // Process the page just like any other aspx page


            handler.ProcessRequest(context);




            TimeSpan duration = DateTime.Now - startTime;


            context.Response.Write(String.Format("Request finshed. Total duration: {0} ms.", duration.Milliseconds));


        }






        /**//**//**//// <summary>


        /// 


        /// </summary>


        public bool IsReusable




        ...{




            get ...{ return true; }


        }




        #endregion


    }


}

webconfig中注册HttpHandler


<httpHandlers>


            <add verb="*" path="*.aspx" type="Cuyahoga.Web.HttpHandlers.PageHandler, Cuyahoga.Web" />


</httpHandlers>

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  string system class path null