<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Hopes

    Start Here..

     

    學習筆記:asp.net中使用跟蹤(trace) ASP.NET故障排除


     

    學習筆記:asp.net中使用跟蹤(trace)

    學習筆記:asp.net中使用跟蹤(trace)

    主要內容:

    什么是“跟蹤”
    為什么要使用跟蹤?
    開啟頁面內的跟蹤
    開啟整個網站的跟蹤
    查看跟蹤信息
    開啟跟蹤后和asp.net ajax沖突怎么辦

    一、什么是“跟蹤”(來自于MSDN)
    跟蹤是一種在應用程序運行時監視其執行情況的方式。當開發 .NET 應用程序時,可以在其中添加跟蹤和調試檢測功能,并且在開發應用程序時和部署應用程序后,都可以使用該檢測功能。利用 Trace 和 Debug 類,可以將有關錯誤和應用程序執行的信息記錄到日志、文本文件或其他設備中,以便在隨后進行分析。

    二、為什么要使用跟蹤?
    在asp的時代,如果需要了解程序在運行時的某些狀態、變量的值,通常都是在頁面上采用Response.Write來輸出的方式。這么做的原因,絕大多數都是因為asp薄弱的運行、開發環境造成的。這這樣的做的結果是,隨意在頁面上輸出造成頁面的混亂不說,程序中添加的Response.Write還非常不容易管理,一旦有什么遺漏的話,就會給客戶造成不必要的誤解。
    而asp.net的跟蹤功能,不僅可以在程序運行的各個階段,跟蹤程序的狀態和變量的值,另外,它還有asp.net本身所支持的各項管理功能。它可以和Aspx頁面一起顯示,也可以通過專門的方式在另外的地方呈現。據我目前所知,它有以下優點:

    1、既可以整個網站統一管理,也可以在單個頁面啟動。通過配置web.config,可以啟用整個網站的跟蹤,也可以在頁面上采用。

    2、不影響頁面的布局和呈現。

    3、全面反映cookies和session的狀態,這是我第一次采用跟蹤的一個原因。

    4、完整的反應各個頁面事件的過程和執行的時間。

    三、開啟頁面內的跟蹤

    1、在<@page>中采用Trace="true"

    2、在代碼里添加“Trace.IsEnabled = true;”

    3、添加自己的跟蹤信息:
                Trace.Warn("abc");   //Warn 顯示的是紅色的信息
                Trace.Write("def");   //write顯示的是普通顏色的信息
    四、開啟全站的跟蹤

    在web.config中添加
    <system.web>
     <trace enabled="true" />
    </system.web>

    五、查看跟蹤信息

    1、如果開啟了頁面內的跟蹤,那么跟蹤信息可以直接在頁面內容的下面顯示出來。

    2、如果開啟了全站的跟蹤,可以通過“http://網站名/”或者“http://網站名/站點名/” (vs 2005里面新建的網站,在調試的時候就是以后者的形式出現的) 后面跟上“trace.axd”來查看。例如:http://localhost:5508/trace.axd

    3、開啟全站跟蹤并且顯示在頁面:

    <system.web>
     <trace enabled="true" pageOutput="true" />
    </system.web>


    4、開啟全站跟蹤并且顯示在“輸出”窗口:

    <system.web>
     <trace enabled="true" pageOutput="false" writeToDiagnosticsTrace="true"/>
    </system.web>

    <system.diagnostics>
     <trace>
      <listeners>
       <add name="consolse" type="System.Diagnostics.ConsoleTraceListener"/>
      </listeners>
     </trace>
    </system.diagnostics>


    六、開啟跟蹤后和asp.net ajax沖突怎么辦

    在使用UpdatePanel的頁面上開啟了頁面跟蹤或者開啟了全站跟蹤時,pageOutput="true"就會出現Sys.WebForms.PageRequestManagerParserErrorException異常。
    原因是頁面跟蹤時有Response.Write。
    解決辦法是,不用頁面跟蹤或者全站跟蹤時,pageOutput="false"。需要查看跟蹤信息時,用trace.axd。

     

    七、性能
    網站開啟了跟蹤,那么肯定是要低性能的。
    但是在頁面添加一些自定義的跟蹤信息,應該對性能的影響很微小了。


    附錄

    1、如何:使用跟蹤查看器查看 ASP.NET 跟蹤信息

    http://msdn.microsoft.com/zh-cn/vcsharp/wwh16c6c(VS.80).aspx

    2、《Essential ASP.NET 2.0中文版 》7.11  ASP.NET 2.0中的跟蹤

    http://book.csdn.net/bookfiles/392/10039214519.shtml

    3、UpdatePanel 出現了Sys.WebForms.PageRequestManagerParserErrorException異常

    Microsoft JScript 運行時錯誤: Sys.WebForms.PageRequestManagerParserErrorException: 無法分析從服務器收到的消息。之所以出現此錯誤,常見的原因是: 在通過調用 Response.Write() 修改響應時,將啟用響應篩選器、HttpModule 或服務器跟蹤。詳細信息: 分析附近的“XXX|XXX|XXX”時出錯。


    http://www.cnblogs.com/simplenl/archive/2008/08/12/1266120.html


    文章中提到了出現異常的各種原因,其中之一就是開啟了網頁的trace


    4、MSDN:《跟蹤應用程序和在應用程序中插入檢測點》《ASP.NET 跟蹤概述》

    ms-help://MS.MSDNQTR.v90.chs/dv_fxdebug/html/773b6fc4-9013-4322-b728-5dec7a72e743.htm

    ms-help://MS.MSDNQTR.v90.chs/dv_vwdcon/html/1552561d-887c-4002-8770-f92662cdf416.htm#ReadingTraceInformation

     

    流浪是注定的宿命;





















    ASP.NET故障排除
    • 沒有找到程序、沒有顯示ASP.NET的結果
    或瀏覽器試圖下載文件
    • 不能顯示頁面:HTTP錯誤403
    • 找不到頁面:HTTP錯誤404
    • 脫機時Web頁面無效
    • 得到服務器錯誤的錯誤語句
    • 其他問題

    沒有找到程序、沒有顯示ASP.NET的結果
    或瀏覽器試圖下載文件
    • 如果試圖將頁面作為硬盤上的本地文件來瀏覽,
    就會遇到這樣的問題。在Windows Explorer中單
    擊文件時也會遇到此問題。原因是用戶試圖不以
    通過Web服務器請求的方式訪問ASP.NET頁面。
    • 解決方法:需要在URL中引用Web服務器。
    • 如果在URL中引用也出現這個問題,一般情況下
    是ASP.NET的安裝問題,如重新安裝IIS后沒有再
    安裝ASP.NET。

    不能顯示頁面:HTTP錯誤403
    • 可能是用戶沒有權限來執行包含在
    ASP.NET中的代碼。
    • 解決方法:需要修改IIS的相關設置。

    找不到頁面:HTTP錯誤404
    • 可能是在瀏覽器中輸入了拼寫錯誤的URL。
    • 解決方法:輸入正確的URL。
    提示:
    • 也有可能是文件后綴名錯誤,如用NotePad
    寫的代碼,錯誤保存為*.aspx.txt。

    脫機時Web頁面無效
    • 可能是用戶試圖請求一個頁面,但當前沒
    有與Internet的連接。
    • 解決方法:單擊“連接”按鈕;或者調整瀏覽
    器的“脫機”設置。

    得到服務器錯誤的錯誤語句
    • 可能是ASP.NET代碼錯誤。
    • 解決方法:修改錯誤代碼。

    Web訪問失敗
    • IE選項中,選擇代理時,沒有把“對于本地
    地址不使用代理服務器”選中

    其他問題:
    • 可能是IIS安裝不正確。
    殺手锏:
    ASPNET_regiis

    • 應用程序級調試模式
    – Web.config
    – <compilation debug=“true”/>
    • 頁面調試模式
    – HTML頁面中添加以下代碼:
    <%@ Page Language=“c#” Debug=“true”
    %>
    – VS.NET中Document的Debug屬性設置為true

    • .NET框架自己帶的調試器
    • DbgCLR.exe
    • 位于:Program files\Mircosoft Visual
    Studio .NET\FrameWorkSDK\GuiDebug

    CLR調試器使用的4個步驟
    • 打開要調試的文件
    • 將調試器附加到ASP.NET進程中
    • 設置斷點
    • 使用調試器工具來操縱應用程序

    在遠程計算機上調試ASP.NET
    Web 應用程序
    • 調試器在遠程使用方法與在本地使用相同
    • 遠程調試的必需條件:
    – 必需安裝Visual Studio remote debugging 組件
    – 用戶必需是Debugger User 組或Administrator
    – 必需具有運行ASP.NET計算機的管理員權限
    – Use DCOM (not TCP/IP) for C/C++

    2.4 ASP.NET調試啟動故障
    • 無法在Web 服務器中啟動調試
    • 您沒有調試服務器的權限。
    • 發送調試HTTP 請求時發生服務器端錯誤
    • 沒有對項目進行配置以接受調試。
    • 未正確安裝調試器。
    • 服務器不支持對ASP.NET 或ATL 服務器應用程
    序的調試。
    • 訪問被拒絕。檢驗您是否是管理員或某個組成員。
    • 無法啟動ASP.NET 或ATL 服務器調試。
    • 訪問被拒絕。

     

    2.4 ASP.NET調試啟動故障
    無法在Web 服務器中啟動調試
    • 未將IIS 應用程序配置為使用“集成
    Windows身份驗證”。確保已選中“身份驗證
    方法”對話框中的“集成Windows身份驗證”
    復選框
    • 檢查IIS 的“保持HTTP連接” 選項。如果它
    是關閉的,則可能需要將其打開,再嘗試
    調試。

    2.4 ASP.NET調試啟動故障
    您沒有調試服務器的權限。
    • 原因1:確保已啟用Integrated Windows
    Authentication。可能的原因是僅為IIS 的
    Directory 安全啟用了Basic authentication。
    • 原因2:如果您在使用Integrated Windows
    Authentication,則需要確保您的用戶帳戶
    能夠完全控制IIS 的目錄。

    2.4 ASP.NET調試啟動故障
    發送調試HTTP 請求時發生服務器端錯誤
    • Web 應用程序沒有應用程序名。為此,請
    使用IIS MMC 來檢查Web 項目的屬性,
    確保Web 項目具有應用程序名。
    • 如果使用的是NTFS 文件格式,則確保
    “aspnet”具有“wwwroot”或虛擬目錄文件夾
    上的適當權限,才能訪問和寫入這些文件
    夾。

    2.4 ASP.NET調試啟動故障
    • 沒有對項目進行配置以接受調試。
    – 原因: 在項目屬性中未啟用Asp.net 調試
    • 未正確安裝調試器
    – 未正確安裝.NET Framework 應用程序。
    • 服務器不支持對ASP.NET 或ATL 服務器
    應用程序的調試。
    – IIS和VS.NET安裝順序有錯,用
    ASPNET_Regiis 重新注冊

    2.4 ASP.NET調試啟動故障
    訪問被拒絕。
    • 檢驗您是否是管理員或某個組成員。您可
    能不是該計算機上Debugger Users 組的成
    員。將您的用戶帳戶添加到計算機上的
    Debugger Users 組中即可解決此錯誤。
    • 您可能是Debugger Users 組的成員,但是
    您不具有調試aspnet 輔助進程的權限,因
    為您不是aspnet 用戶帳戶或
    Administrators 組的成員。將您的用戶帳戶
    添加到機器上的Administrators 組即可解決
    此問題。

    2.4 ASP.NET調試啟動故障
    無法啟動ASP.NET 或ATL 服務器調試。
    • 原因1:您可能安裝了IIS Lockdown 工具。如果
    這樣,則查找urlscan.ini 文件,并將DEBUG
    (區分大小寫)添加到[allowverbs] 部分中。
    • 原因2:如果將域控制器用作服務器,并且項目
    是使用機器名(非完整域名)創建的,則可能需
    要將項目的URL 更改為完整域名。
    • 原因3:如果將IIS 設置為使用專用IP(例如
    Web site identification,可以在IIS MMC 的IIS
    設置中找到這一選項),則可能看到這條錯誤消
    息。原因4:web.config 文件的中的值太大。默
    認單位是千字節而非字節,因此如果更改此數
    字,使用了錯誤的單位,則可能導致調試問題。

    試用Response跟蹤
    • 新建web應用程序
    • 添加用戶名稱、密碼文本框、登錄按鈕
    • 為登錄按鈕添加事件
    • 在事件中用Response.Write來跟蹤值是否
    正確

    跟蹤
    • 便利的來展示應用程序ASP.NET Web的信

    • 兩種方式跟蹤:
    – Page-level 跟蹤
    • 在瀏覽器中輸出
    • 不影響頁面性能
    – Application-level 跟蹤
    • 許可一次察看多個請求
    • 自動為程序中的所有頁開啟page-level

    2.1 在頁面級使用跟蹤
    • 在HTML頁添加以下代碼
    <%@ Page Trace=“true” %>
    • VS.NET中的設置
    – Document的Trace屬性設置為true

    跟蹤輸出
    • 請求內容:包含關于頁面請求的信息
    • 跟蹤信息:顯示實際的跟蹤信息
    • 控制樹:顯示頁面使用的不同控件
    • Cookies集合:顯示頁面中的所有
    Cookie
    • 標題集合:顯示客戶端傳送到服務器端
    的連同請求的各種HTTP標題
    • 服務器變量:顯示服務器變量集合的所
    有成員

    2.2 寫到跟蹤日志
    • Trace.Write:
    • Trace.Warn:紅色顯示
    注:
    • Trace對象對應的類為TraceContext
    • Trace.IsEnabled屬性可以得到跟蹤的當前
    狀態

    Application-Level 跟蹤日志
    • 為所有頁開啟page-level跟蹤
    • 收集統計狀態信息及控件層次
    • 開啟跟蹤需按以下方式修改Web.config文件:
    <configuration>
    <system.web>
    <trace enabled="true"/>
    </system.web>
    </configuration>
    • 輕松察看多個請求的響應細節

    支持的屬性
    設置true | false, 指示跟蹤是否僅對本地用戶或所有用戶
    (default is true)
    localOnly
    設置SortByTime | SortByCategory, 指示顯示排序方式
    (default is SortByTime)
    traceMode
    requestLimit 跟蹤請求在服務器端的存儲數量(default is 10)
    設置true | false, 用于標記跟蹤信息是否在頁面被顯示,包
    括在每個頁面直接輸出,或是通過trace.axd文件輸出。
    (默認為關閉)
    pageOutput
    enabled 設置true | false, 用于標記跟蹤是否開啟(默認為關閉)
    Value Description

      評論這張
    轉發至微博
    轉發至微博
    0  分享到:        
    閱讀(700)| 評論(1)| 轉載 (0) |舉報

    歷史上的今天

    相關文章

    最近讀者

    評論

      登錄后你可以發表評論,請先登錄。登錄>>
    2007-07-14 15:23

         你好 我是個網絡菜鳥 

         我現在有一個系統安全補丁裝不上

         提示是 :  SL44 tmp未找到調試器

                     注冊的JIT調試器不可用.試圖使用下列命令啟動JIT調試器產生了錯誤代碼0x2(2).請檢查計算機設置.

                       cordbg.exe.!a  0xdlc

    還有 我的系統是 XP的

     希望你可以幫我解決這個問題  謝謝

     

     

     

     

     

     

     

     

     

     

     

     

     
     
     
     
     
     
     
     
     
     
     
     
     
     
      

    posted on 2012-12-18 15:48 ** 閱讀(378) 評論(0)  編輯  收藏


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     

    導航

    統計

    公告

    你好!

    常用鏈接

    留言簿(2)

    隨筆檔案

    文章分類

    文章檔案

    新聞檔案

    相冊

    收藏夾

    C#學習

    友情鏈接

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲春色在线视频| 毛色毛片免费观看| 日本免费高清视频| 99久久免费国产精品热| 成人自慰女黄网站免费大全| 九九九国产精品成人免费视频| 真人无码作爱免费视频| 牛牛在线精品观看免费正| 免费国产黄网站在线看| av网站免费线看| 女人隐私秘视频黄www免费| 日韩免费高清播放器| 精品免费tv久久久久久久| 久久久久免费看黄a级试看| 51视频精品全部免费最新| 无人在线直播免费观看| 成人毛片免费播放| 俄罗斯极品美女毛片免费播放| 免费a级毛片视频| 国产av无码专区亚洲国产精品| 亚洲乱码精品久久久久..| 麻豆亚洲AV永久无码精品久久| 亚洲福利电影一区二区?| 天天爽亚洲中文字幕| 久久亚洲精品11p| jizz18免费视频| 久久精品无码精品免费专区| 麻豆国产精品免费视频| 免费观看的毛片手机视频| 亚洲精品偷拍视频免费观看 | 国产精品成人69XXX免费视频| 国产在线国偷精品免费看| 97久久免费视频| 日日AV拍夜夜添久久免费| 丁香五月亚洲综合深深爱| 亚洲精品综合一二三区在线| 国产成人精品日本亚洲直接| 免费大片av手机看片高清| 午夜老司机永久免费看片| 成人毛片18女人毛片免费| 老司机亚洲精品影视www|