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

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

2007-10-06 20:01 609 查看
来自Cuyahoga 使用自定义的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 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);


            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