返回顶部

收藏

asp.net mvc为每个页面添加页面执行时间统计

更多

定义httpModule的类

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace MicroBlog.Web.Base
{
    public class TimeHttpModule : IHttpModule
    {
        private DateTime starttime;

        public void Init(HttpApplication application)//实现IHttpModules中的Init事件 
        {
            //订阅两个事件 
            application.BeginRequest += new EventHandler(application_BeginRequest);
            application.EndRequest += new EventHandler(application_EndRequest);
        }

        private void application_BeginRequest(object sender, EventArgs e)
        {
            //object sender是BeginRequest传递过来的对象 
            //里面存储的就是HttpApplication实例 
            //HttpApplication实例里包含HttpContext属性 
            starttime = DateTime.Now;
        }

        private void application_EndRequest(object sender, EventArgs e)
        {
            DateTime endtime = DateTime.Now;
            HttpApplication application = (HttpApplication)sender;
            HttpContext context = application.Context;
            var ms = (endtime - starttime).Milliseconds;
            context.Response.Headers.Add("times", string.Format("{0}ms",ms.ToString()));
        }

        //必须实现dispose接口 
        public void Dispose() { }
    } 

}

                                在根目录下的web.config添加以下内容
  <system.web>
 <httpModules>
      <add name="TimeHttpModule" type="MicroBlog.Web.Base.TimeHttpModule"/>
    </httpModules>
  </system.web>

<system.webServer>
    <modules runAllManagedModulesForAllRequests="true">
        <remove name="TimeHttpModule" />
        <add name="TimeHttpModule" type="MicroBlog.Web.Base.TimeHttpModule" />
    </modules>
</system.webServer>

                                上面两处都需要添加

标签:执行时间,httpModule,mvc

收藏

0人收藏

支持

0

反对

0

相关聚客文章
  1. Neeke 发表 2013-01-21 09:12:53 通过Sencha Cmd辅助开发基于ExtJS4 MVC的项目
  2. Scott Hanselman 发表 2013-07-20 08:07:23 If you're not using Glimpse with ASP.NET for debug
  3. 博主 发表 2014-07-11 07:00:00 Spring MVC国际化和本地化
  4. 博主 发表 2014-08-14 03:13:34 MVC
  5. Scott Hanselman 发表 2015-02-17 08:32:43 NuGet Package of the Week: A different take on ASP
  6. root 发表 2015-04-16 05:00:02 ASP.NET MVC 系列:项目实践
  7. root 发表 2015-04-23 02:44:02 MVC系列学习(三)-EF的延迟加载
  8. 博主 发表 2015-03-30 03:36:24 Django其实不是MVC
  9. 博主 发表 2014-09-15 00:00:00 一个新的MVC框架-Vizzle
  10. minyifei 发表 2015-06-19 05:49:18 从零构建PHP商用MVC框架(7.1 常用类库 验证码生成)
  11. hackhp 发表 2015-08-20 07:57:37 mvc框架简介
  12. 博主 发表 2015-01-21 04:00:00 关于Spring mvc中model的attribute无法指定别名的解决方案

发表评论