如何基于每个请求跟踪ASP.NET

Mat*_*att 7 c# asp.net profiling .net-3.5

如何基于每个请求跟踪ASP.NET.我知道我可以启用应用程序分析/性能并查看有关哪些方法受到影响的各种统计信息,每种方法花费了多长时间,但是,我希望根据每个请求生成类似的报告.如果没有按要求打开和关闭应用程序分析,有没有一个很好的工具来做到这一点?

我在VS2008(使用resharper),IIS7,ASP.NET,.NET 3.5和Windows 7-64

Nik*_*hil 3

您应该能够在页面级别打开跟踪功能。该功能自 ASP.NET 1.1 起就可用,您可以通过将属性添加到页面指令来打开它 - 例如。

<%@ Page Language="vb" AutoEventWireup="false" Trace="true" Codebehind="whatever.aspx.vb" Inherits="Example.Whatever"%>
Run Code Online (Sandbox Code Playgroud)

您也可以从后面的代码打开它。我通常将其放在页面加载事件的代码后面,以便我可以根据自定义查询字符串属性启用它。

If Request.QueryString("trace") = "true" Then
     Trace.IsEnabled = True
  End If
Run Code Online (Sandbox Code Playgroud)

当然,在部署到生产环境之前应该删除此代码。

我不确定这是否是您正在寻找的 - 因为您提到报告和跟踪通常用作调试工具,但它有很多信息可用于对页面性能进行故障排除。