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