跨主页,页面和所有用户控件共享单个类

时间:2012-03-31 04:07:58

标签: c# asp.net global-variables

我想检查特定asp.net网站中每个页面的加载速度(基于C#)。我想创建一个类来定时加载和执行某个元素。我想在每个用户控件和页面本身上创建一个stopwatch对象,以诊断页面完全加载所需的时间。启用debug后,我们可以看到每个页面以及每个元素的加载时间。

我不想将其保存在session中,但我真的想不出办法解决它。

我认为一个不错的实现方法是包含一个我编写的类,它将在加载时跟踪每个母版页,页面和用户控件的stopwatch值,但是我可以在哪里保存每个execution time完成后?我想我可以使用Session,但这是跨用户控件和页面保存数据的唯一方法吗?

最好的方法是什么?

4 个答案:

答案 0 :(得分:1)

我会使用log4net之类的日志框架......特别是因为你只是为调试模式而做。如果某些事情比预期的要慢,您可以定义警告级别以匹配您的加载速度......

答案 1 :(得分:1)

除了使用日志记录框架之外,您还可以使用ASP.nets开箱即用的跟踪和诊断功能 [http://msdn.microsoft.com/en-us/library/bb386420.aspx]来使用所需的跟踪,或者您可以使用elmah之类的东西来满足其他需求。尽量不要重新发明轮子,但要制造一辆飞得很快的车。祝你好运!!

答案 2 :(得分:0)

如果这是MVC网站,您可以查看MVC Mini Profiler。它以Nuget package提供。

答案 3 :(得分:0)

我同意其他答案,因为在执行相关逻辑时利用日志记录实现就足够了,例如在Unload()页面上写入日志。