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

时间:2010-12-06 23:11:00

标签: c# asp.net .net-3.5 profiling

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

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

2 个答案:

答案 0 :(得分:3)

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

<%@ Page Language="vb" AutoEventWireup="false" Trace="true" Codebehind="whatever.aspx.vb" Inherits="Example.Whatever"%>

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

If Request.QueryString("trace") = "true" Then
     Trace.IsEnabled = True
  End If

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

我不确定这是否是您正在寻找的 - 因为您提到报告并且跟踪通常用作调试工具,但它有大量信息可用于排查页面性能。

答案 1 :(得分:1)

如果上面的跟踪选项不是您要查找的,则可以尝试的另一个选项是在IIS 7.0中转换失败的请求跟踪。 我自己没有使用它,所以你的YMMV,但如果你对此感兴趣,可以链接到IIS.NET关于它的好文章。