使用Filter跟踪Asp.net MVC页面加载(转)
2021-07-10 22:07
标签:second width copy min 介绍 没有 key more tool 转载地址:http://www.cnblogs.com/JustRun1983/p/4027929.html 最近,客户一直反馈系统使用慢,有时候能够指出具体是哪个页面,有时候又只是笼统地反馈慢。这种问题就像是幽灵一样,非常不好处理。因为导致这种问题的因素非常之多,而且在开发工程中,很难模拟出实际运行是的环境。理论上,对于所有的页面做压力测试是个解决方案,但是这种方式的成本太高,又没有办法很快地定位和解决客户的问题。 最后,考虑通过创建Filter来在访问Action之前记录一个时间,在页面Render完成之后,再记录一下时间。通过比较这2个时间的差值来跟踪每个页面的加载性能。如果对于MVC中的Filter还不太熟悉,可以看这里Asp.net MVC使用Filter解除Session, Cookie等依赖,文章有对于Filter的介绍和使用。 言归正传,直接上代码。通过继承ActionFilterAttribute, 分别重写OnActionExecuting和OnResultExecuted方法。 最后,将该Filter注册成Global Filter,这样,就能监控系统中所有页面的加载时间了. 如果你也遇到和我类似的性能问题,不妨试试,加上这个Filter, online系统中哪个页面慢,就能够一目了然了。 使用Filter跟踪Asp.net MVC页面加载(转) 标签:second width copy min 介绍 没有 key more tool 原文地址:http://www.cnblogs.com/yxlblogs/p/7088459.htmlpublic class TrackPageLoadPerformanceAttribute : ActionFilterAttribute
{
//这里使用log4net来打印出结果
private static readonly ILog Log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
//创建字典来记录开始时间,key是访问的线程Id.
private readonly Dictionary
关于Asp.net MVC性能监控,还有这篇文章可能能帮到你。使用MiniProfiler给Asp.net MVC和Entity Framework号脉(附源码)
上一篇:OneTif
文章标题:使用Filter跟踪Asp.net MVC页面加载(转)
文章链接:http://soscw.com/index.php/essay/103426.html