我想检查特定asp.net网站中每个页面的加载速度(基于C#)。我想创建一个类来定时加载和执行某个元素。我想在每个用户控件和页面本身上创建一个stopwatch
对象,以诊断页面加载总共需要多长时间。当启用debug
时,我们可以看到每个页面以及每个元素的加载时间。
我不想把它保存在session
中,但我真的想不出绕过它的方法。
我想一个好的实现是包含一个我编写的类,该类将在加载时跟踪每个母版页、页面和用户控件的stopwatch
值,但完成后,我可以将每个execution time
保存在哪里?我想我可以使用Session
,但这是跨用户控件和页面保存数据的唯一方法吗?
最好的方法是什么?
除了使用日志框架外,您还可以使用ASP.nets开箱即用的跟踪和诊断功能来使用所需的跟踪[http://msdn.microsoft.com/en-us/library/bb386420.aspx]或者你可以用类似elmah的东西来满足其他需求。尽量不要重新发明轮子,而是用它制造一辆能飞的汽车。祝你好运
我会使用log4net等日志框架…尤其是因为你只在调试模式下这样做。如果速度比预期慢,您可以定义警告级别以匹配装载速度。。。
我同意其他答案,因为在页面Unload()上执行相关逻辑(例如写入日志)时,利用日志记录实现就足够了。
如果这是一个MVC站点,您可以查看MVC迷你档案器。它以Nuget包的形式提供。