不要忘了ASP.NET跟踪模式


一、ASP.NET跟踪模式

  1.介绍

  提到ASP.NET跟踪模式,不能不提到ASP程序。ASP程序中在WEB页面上显示出某些变量当时的值,常常使用Response.Write进行输入,这在ASP程序中确实是一种很好的解决方案,但是,由于ASP.NET运行机理,这种方法在ASP.NET中会存在不少问题。问题总是要解决,ASP.NET推出了允许直接在代码中编写调试语句的新功能,从而在将应用程序部署到生产服务器时,无需将它们从应用程序中移除,该功能叫做跟踪。它允许在页中编写变量或结构、判断是否符合某个条件,或只是通过页或应用程序的执行路径进行跟踪。为了收集并显示这些消息和其他跟踪信息,必须启用页或应用程序的跟踪,即在@Page指令中设置Trace属性为true,默认为false。

  2.启用跟踪会发生什么

  当启用跟踪时,ASP.NET将将为我们做两件很重要的事情:

  (1)ASP.NET将一系列诊断信息表紧接着追加在页输出之后。还将该信息发送到跟踪查看器应用程序(只有当已启用了应用程序的跟踪时)。

  (2)ASP.NET在追加性能数据的Trace Information表中显示自定义诊断消息。指定的诊断信息和跟踪消息追加在发送到请求浏览器的页输出中。或者,可以在单独的跟踪查看器(trace.axd)中查看该信息,该查看器显示给定应用程序中每页的跟踪信息。当ASP.NET处理页请求时,该信息可以帮助查清错误或不希望得到的
结果。

  只有在启用了跟踪后才处理并显示跟踪语句。可以控制是否将跟踪显示到页上、显示到跟踪查看器或既显示到页上又显示到跟踪查看器。

  3.ASP.NET 跟踪信息

  可以在 ASP.NET 页的末尾或跟踪查看器中查看追加的跟踪信息。两种情况下显示的信息是相同的。ASP.NET 将跟踪信息组织在一系列的表中。跟踪信息按下列顺序显示:

  (1)请求详细信息

  “请求详细信息”部分显示关于当前请求和响应的常规信息。

  

  值

  说明

  会话 ID

  指定请求的会话标识。

  请求的时间

  发出请求的时间。

  请求编码

  请求的字符编码。

  请求类型

  HTTP 方法(GET 或 POST)。

  状态代码

  与响应关联的状态代码值。有关更多信息,请参见位于 World Wide Web Consortium (W3C) Web site(万维网联合会 (W3C) 网站)上的 RFC 2616。

  响应编码

  响应的字符编码。

  (2)跟踪信息

  “跟踪信息”部分显示页级事件流。如果创建了自定义跟踪消息,这些消息也将显示在“跟踪信息”部分。

  值

  说明

  类别

WarnWrite 方法调用中指定的自定义跟踪类别(如果有的话)。

  消息

WarnWrite 方法中指定的自定义跟踪消息(如果有的话)。

  自第一个跟踪语句以来的时间(秒)

  自处理第一条跟踪消息以来的运行时间(以秒为单位)。第一条跟踪消息显示在列表顶端。

  自上一个跟踪语句以来的时间(秒)

  处理当前跟踪消息与处理上一个跟踪消息之间经过的时间(以秒为单位)。

  (3)控件树

  “控件树”部分显示有关在页中创建的 ASP.NET 服务器控件的信息。

  值

  说明

  控件 ID

  控件的标识。如果尚未指定控件的 ID 属性,则 ASP.NET 使用 UniqueID 属性生成 ID

  类型

  控件的完全限定类型。

  呈现大小字节数

  所呈现的控件(包括子控件)的大小(以字节为单位)。这是发送到浏览器的实际 HTML、XML 或其他格式的大小。

  ViewState 大小字节数

  控件的视图状态(不包括子控件)的大小(以字节为单位)。

  ControlState 大小字节数

  控件的控件状态(不包括子控件)的大小(以字节为单位)。

  (4)会话状态

  “会话状态”部分显示有关存储在会话状态中的值(如果有的话)的信息。

  值

  说明

  会话密钥

  存储在会话状态中的数据的密钥(如果有的话)。

  类型

  存储数据的对象的完全限定类型。

  值

  存储在会话状态中的数据的字符串表示形式(如果有的话)。

  (4)应用程序状态

  “应用程序状态”部分显示关于存储在应用程序状态中的值(如果有的话)的信息。

  值

  说明

  应用程序键

  存储在应用程序状态中的数据的键(如果有的话)。

  类型

  存储数据的对象的完全限定类型。

  值

  存储在应用程序状态中的数据(如果有)的字符串表示形式。

  (5)Cookie 集合

  “请求 Cookie”和“响应 Cookie”部分显示对于每个请求和响应在浏览器与服务器之间传递的 Cookie 的有关信息。该部分既显示持久性 Cookie,也显示会话 Cookie。ASP.NET 自动创建一些 Cookie,如用于基于 Cookie 的会话状态和 Forms 身份验证的 Cookie。有关更多信息,请参见 ASP.NET Cookies

  值

  说明

  名称

  Cookie 的名称。

  值

  Cookie 的值,如果 Cookie 为多值,则为子项和值。

  大小

  Cookie 的大小(以字节为单位)。

  (6)标头集合

  “标头集合”部分显示关于请求和响应消息的标头名称/值对(提供关于消息体或所请求的资源的信息)的信息。标头信息用于控制请求消息的处理方式和响应消息的创建方式。有关 HTTP 标头的更多信息,请参见位于 World Wide Web Consortium (W3C) Web site(万维网联合会 (W3C) 网站)上的 RFC 2616。

  值

  说明

  名称

  标头的名称。

  值

  标头的值。

  (8)窗体集合

  “窗体集合”部分显示名称/值对,这些名称值/对显示在 POST 操作(回发)期间的请求中提交的窗体元素值(控件值)。

  值

  说明

  名称

  窗体变量的名称。

  值

  窗体变量的值。

  (9)Querystring 集合

  “Querystring 集合”部分显示在 URL 中传递的值。在 URL 中,查询字符串信息通过问号 (?) 与路径信息分隔开;多个查询字符串元素用 & 符分隔开。查询字符串名称/值对以等号 (=) 分隔。HttpRequest 对象的 QueryString 属性返回查询字符串变量的 NameValueCollection

  值

  说明

  名称

  查询字符串变量的名称。

  值

  查询字符串变量的值。

  (10)服务器变量

  “服务器变量”部分显示服务器相关的环境变量的集合和请求标头信息。HttpRequest 对象的 ServerVariables 属性返回服务器变量的 NameValueCollection

  值

  说明

  名称

  服务器变量的名称。

  值

  服务器变量的值。

  待续……


« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3