asp.net-mvc – 如何在ASP.NET MVC中生成完整的trace.axd?

前端之家收集整理的这篇文章主要介绍了asp.net-mvc – 如何在ASP.NET MVC中生成完整的trace.axd?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在我的应用程序中,在ASP.NET MVC应用程序中启用 ASP.NET Tracing后,时间计算统计信息被关闭了5000倍.

我有一个页面需要7到9秒才能加载. Firebug和IIS日志文件中的“time-taken”字段都证实了这一点. (这只是返回客户端的页面,而不是任何布局,DOM或脚本执行.)

但是,当我打开应用程序范围的跟踪(通过web.config)并查看跟踪输出时,从“Begin PreInit”到“End Render”的时间小于0.001秒.

我认为这是因为Trace.axd是在构建WebForms时考虑的,MVC绕过了传统的页面生命周期.

即使我在OnActionExecuting/OnActionExecuted的开始和结束时添加自定义跟踪,时间仍然小于0.1秒.

有谁知道在ASP.NET MVC中我需要挂钩才能让trace.axd输出报告准确的执行时间?

解决方法

可能是动作方法本身的时间不是执行的重要部分.尝试检查OnResultExecuting / OnResultExecuted之间的时间.这基本上是用HTML实际呈现页面的时间,而OnActionExecuting / OnActionExecuted(基本上)是为视图设置数据的时间.

请注意,如果您使用的是LINQ,则数据查询本身可能会延迟到呈现页面(枚举的模型).也就是说,缓慢可能不是由于页面复杂性而是由于数据访问,即使在执行结果时花费了时间.

猜你在找的asp.Net相关文章