如何monitor/view全部actions/methods/events/filters/etc组成一个请求?
How to monitor/view all actions/methods/events/filters/etc that make up a request?
就性能分析而言,ASP.NET MVC 应用程序是否有一种方法可以在呈现页面时监视或查看构成请求的所有方法——本质上是整个请求的调用堆栈。假设我有一个需要 1000 毫秒加载的页面,我如何确定完成请求的每种方法所花费的时间。
我当前的解决方案使用 MiniProfiler,我在其中手动记录特定方法。虽然这给了我完成请求所需的总时间,并详细说明了我记录的方法的时间,但仍有大量时间未说明,即我没有捕获的方法。这似乎是一种合理的方法,但我不确定要捕获哪些其他方法。
如何找到这些 "missing" 方法?
我建议只安装 Glimpse。它为您提供了您可能希望或希望看到的更多信息,但它在开发过程中的许多情况下都非常有用。它是免费的开源软件,可通过 Nuget 轻松集成到您的项目中。
此外,值得一提的是,只有在像您要部署到的服务器上(使用像 IIS 这样的真实 Web 服务器)才能真正准确地分析 Web 应用程序。在 IIS Express 中分析您的开发网站 运行 可用于发现巨大的瓶颈,但通常无法实际衡量您的网站在部署后的表现如何。
就性能分析而言,ASP.NET MVC 应用程序是否有一种方法可以在呈现页面时监视或查看构成请求的所有方法——本质上是整个请求的调用堆栈。假设我有一个需要 1000 毫秒加载的页面,我如何确定完成请求的每种方法所花费的时间。
我当前的解决方案使用 MiniProfiler,我在其中手动记录特定方法。虽然这给了我完成请求所需的总时间,并详细说明了我记录的方法的时间,但仍有大量时间未说明,即我没有捕获的方法。这似乎是一种合理的方法,但我不确定要捕获哪些其他方法。
如何找到这些 "missing" 方法?
我建议只安装 Glimpse。它为您提供了您可能希望或希望看到的更多信息,但它在开发过程中的许多情况下都非常有用。它是免费的开源软件,可通过 Nuget 轻松集成到您的项目中。
此外,值得一提的是,只有在像您要部署到的服务器上(使用像 IIS 这样的真实 Web 服务器)才能真正准确地分析 Web 应用程序。在 IIS Express 中分析您的开发网站 运行 可用于发现巨大的瓶颈,但通常无法实际衡量您的网站在部署后的表现如何。