欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

三行代码实现.NET MVC统计显示页面的执行时间 超简单的实现方法 分析页面执行效率

程序员文章站 2022-09-11 20:22:09
博客页脚处添加了页面执行时间统计显示,如下图所示,也可以直接查看网页页脚处. 实现方法非常简单,只需三行代码(只算主要代码)即可: 第1行:在Controllers中添加一个BaseController类继承自System.Web.Mvc.Controller, 然后把其他的Controller类都 ......

   博客页脚处添加了页面执行时间统计显示,如下图所示,也可以直接查看网页页脚处.

三行代码实现.NET MVC统计显示页面的执行时间 超简单的实现方法 分析页面执行效率

        实现方法非常简单,只需三行代码(只算主要代码)即可:

        第1行:在Controllers中添加一个BaseController类继承自System.Web.Mvc.Controller,

              然后把其他的Controller类都继承自这个BaseController类,这里不算行数

 
    public abstract class BaseController:System.Web.Mvc.Controller
 
    public class IndexController : BaseController

    

        第2行:在BaseController类中添加一个无参数构造函数,内容如下:(这里算1行)

    public BaseController()
        {
            if (System.Web.HttpContext.Current.Session["StarTime"] == null)
            {
                System.Web.HttpContext.Current.Session["StarTime"] = DateTime.Now;
            }
        }

 

        第3行:在View页的尾部需要展示的地方添加一行代码:(这里算2行)

          @{
                    TimeSpan ts = DateTime.Now - (DateTime)System.Web.HttpContext.Current.Session["starTime"];
                    int time = Convert.ToInt32(ts.TotalMilliseconds);
                    System.Web.HttpContext.Current.Session.Clear();
                }
                执行时间:@time 毫秒

 

    好了,现在基本功能就实现了,已经可以显示出来页面的执行时间了.

    

    完毕!这个时间从一开始Controller收到请求开始,到页面绑定结束,主要计算数据库读取以及页面数据绑定的时间.有两部分没有计算到:

    1 服务器从收到HTTP请求开始到框架内部路由到对应的Action的时间,这个时间及其短暂,可以忽略不计.

    2 从服务器执行完毕生成网页HTML代码到客户端加载完的时间,这个是有服务器带宽和用户网速决定的,可以使用JS来获取这个时间.

本文为博主原创,转载请保留出处:
http://www.chengchenxu.com/Article/Show/19/