当前位置:  开发笔记 > 后端 > 正文

如何在ASP.NET MVC中生成完整的trace.axd?

如何解决《如何在ASP.NETMVC中生成完整的trace.axd?》经验,为你挑选了1个好方法。

在我的应用程序中,在ASP.NET MVC应用程序中启用ASP.NET跟踪后,时间计算统计信息被关闭了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输出报告准确的执行时间?



1> tvanfosson..:

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

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

推荐阅读
jerry613
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有