什么是跟踪-Tracing?
跟踪是一项在web服务端执行的记录特定网站页面相关诊断信息的动作。在本次讨论中我们将会讨论ASP.NET相关的跟踪技术。
跟踪的需求
当web程序在开发过程中时,开发人员可以使用内部的调试器发现并解决故障,但是在产品发布环境下,考虑到安全以及版权使用调试器对于管理员来说是一个巨大的任务。对于调试传统的ASP应用程序,我们没有办法去跟踪ASP页面的执行流程。对于。NET,我们只要一点点的工作就可以进行跟踪。为了收集统计信息例如执行时间,某个具体对象的内容,“response.write”对于传统ASP是唯一的方法。使用trace我们现在跟踪的输出中可以看到HTTP 头信息以及会话状态信息。当然我们也可以在trace的输出中增加自己想要的内容。跟踪方法
1.页面中:
当使用此方法时,跟踪的输出信息将显示在执行的页面中。2.页面之外
在这个方法中,跟踪的结果不会显示在页面上但是会存放在web服务器该应用程序根目录下的一个名为“trace.axd”文件中。在页面执行完之后,这个文件可以在浏览器上看到。例如: http://yourApplication/trace.axd我如何进行跟踪
跟踪可以在两种范围内开启1.页面级
2.应用程序级
使用页面级进行跟踪
页面级的跟踪可以使用Page指令“Trace”来开启。如果你查看你的页面代码的顶部,你会发现一行类似下面的内容
<%
@ Page Language="C#" AutoEventWireup="true" Trace="true" CodeFile="Trace.aspx.cs" Inherits="Tests_Trace"
%>
当然我们已经设定了Trace属性来开启跟踪取消了默认的不尽心动态跟踪。在页面中,如果你在页面Load事件中写下一下行,跟踪也会被启动。
Trace.IsEnable
=
true
;
使用应用程序级进行跟踪
当你使用页面级跟踪时,你需要知道大概需要被跟踪的页面。如果你的程序过于复杂并且你你想跟踪,你可能不能意识到确切的哪个页面是需要被跟踪的。为了使我们避免这种问题,.NET平台提供了很简单的方法来开启应用程序级的跟踪。正入我们所知道的,web.config是一个管理应用级别的设置文件。我们可以这个文件中进行跟踪的配置。
<
trace enabled
=
"
true
"
pageOutput
=
"
true
"
requestLimit
=
"
10
"
traceMode = " SortByTime " localOnly = " true " />
traceMode = " SortByTime " localOnly = " true " />
Trace标记的属性
Enabled - 为整个应用程序开启或关闭跟踪PageOutPut -如果该属性被设置为“True”,跟踪的输出会被显示在页面上。如果设置为“false”,可以使用浏览器查看跟踪,输入如下地址: http://<your application>/trace.axd
RequestLimit -只有当PageOutPut属性被设置为“false”时该属性才有效,该属性决定了被跟踪的页面的请求数量。
TraceMode -管理跟踪的输出顺序,该属性可以使用如 - SortByTime,SortByCategory等等。
LocalOnly - 如果你想从任何客户端看到该跟踪日志,那么将其设为“false”,反之设为“true”,将只在服务端本地显示信息。
跟踪输出
当开启跟踪功后我们能得到跟踪的输出。这个输出包含了大量的详细信息,下面介绍几个部分:Request Details -这快内容是基础的信息,类似会话ID,请求时间,HTTP请求类型,HTTP响应详细内容。
Trace Inforamtion -这快内容提供消息信息以及各种类别。也会显示用户使用Trace.Wite或者Trace.Warn的内容。
Control Tree -这快内容显示了页面执行的控件信息。
Cookies Collection - 如果该页使用了Cookies,这快内容将会显示这些Cookies的详细信息。
Header Information -这块内容一组名值对的传输头的信息。
Server Variables - 这块内容也是一组显示服务端变量的名值队内容。
下文省,更多内容请参考msdn,原文链接