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

时间:2021-02-28 22:00:35

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

 

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

三行代码实现.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行)

三行代码实现.NET MVC统计显示页面的执行时间 超简单的实现方法 分析页面执行效率
    public BaseController()
        {
            if (System.Web.HttpContext.Current.Session["StarTime"] == null)
            {
                System.Web.HttpContext.Current.Session["StarTime"] = DateTime.Now;
            }
        }
三行代码实现.NET MVC统计显示页面的执行时间 超简单的实现方法 分析页面执行效率

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

三行代码实现.NET MVC统计显示页面的执行时间 超简单的实现方法 分析页面执行效率
          @{
                    TimeSpan ts = DateTime.Now - (DateTime)System.Web.HttpContext.Current.Session["starTime"];
                    int time = Convert.ToInt32(ts.TotalMilliseconds);
                    System.Web.HttpContext.Current.Session.Clear();
                }
                执行时间:@time 毫秒
三行代码实现.NET MVC统计显示页面的执行时间 超简单的实现方法 分析页面执行效率

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

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

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

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

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