可能現在許多ASP.NET 程式員依然習慣在後台使用Response.Write 方法來查看某個變數的值。其實,微軟提供了很好的調試工具,即Trace.axd。它的功能主要是:配置 ASP.NET 代碼Tracing Service以控制如何收集、儲存和顯示跟蹤結果。
關鍵的幾個選項:
1、localOnly 預設為false。這個很好理解。如果為true,只在本地輸出跟蹤資訊。
2、enabled 是否啟用跟蹤。
3、pageOutput 指定在每一頁的結尾是否呈現跟蹤輸出。如果是false ,則只能通過跟蹤工具 + 生產力訪問跟蹤輸出。
4、requestLimit 指定在伺服器上儲存的跟蹤請求的數目。最大為10000,預設為10
5、traceMode 指定顯示跟蹤資訊的順序。SortByCategory 或 SortByTime(預設)
關於更多可以參考:http://msdn.microsoft.com/zh-cn/library/6915t83k%28VS.80%29.aspx
下面以一個小Demo 來說明怎麼使用Trace.axd 來調試 ASP.NET
1. 建立一個Web 項目,取名為WebTraceTest
2. 編輯web.config 檔案,添加trace 節點(在)
內容如下:
<trace enabled="true"
localOnly="true"
pageOutput="true"
requestLimit="15"
mostRecent="true"
/>
3. 建立一個頁面,取名為Test.aspx,在裡面增加一個文字框和一個按鈕(都是伺服器端的控制項)按下F5,開始調試,會發現出現如下介面:
4. 在文字框中輸入文字並點擊按鈕,會發現Form Collection中會有詳細的資訊,如下:
使用Trace.axd我們可以獲得以下資訊:
Request Details:請求的詳細資料
Trace Information:跟蹤資訊
Control Tree:控制項樹
Session State:工作階段狀態
Application State:應用程式狀態
Request Cookies Collection:請求Cookie 集合
Response Cookies Collection:響應Cookie 集合
Headers Collection:標題集合
Response Headers Collection:響應標題集合
Form Collection:表單集合
Querystring Collection:QueryString 集合(即Url 中?後面的字串的資訊)
Server Variables:伺服器變數
注意:如果只調試當前頁面,則只需在當前.aspx 頁面的頭部中設定Trace 屬性。
樣本如下:
<%@ Page Language="C#" Trace="true" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>