Blog Content

    티스토리 뷰

    52.C# ASP.NET - Trace 추적

    반응형
    Trace 개체 : 웹 페이지 내에서 사용되는 변수 등의 상태값을 추적(디버깅)

    기본적으로 웹 폼이 실행되면 결과값으로 결과값이 출력
    - 상태값, 섹션, 쿠키값 등을 확인, 개발서버와 개발환경에서 작업

    페이지 지시문 (레벨)에 코드 입력 :<%@ Page Trace="true" %>
    - 모든 웹 페이지에 Trace를 True로 주고 싶을 때 Web.Config에서 작업한다.

    추적 1 : 페이지 지시문에 코드 입력
    Default.aspx

    <%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs"

        Inherits="_Default" Trace="true" %>


    Default.aspx.cs

    protected void Page_Load(object sender, EventArgs e)

    {

        Response.Cookies["SITE"].Value = "닷넷코리아";

        Session["SITE"] = "비주얼아카데미";

        Application["SITE"] = "레드플러스";

    }


    결과확인

    [그림52-1]


    [그림52-2]


    반드시 디버깅 모드에서 실행 순서 출력, 어느 메서드에서 시간이 많이 걸리는지를 확인 가능

    추적 2 : Web.config - 웹 사이트 전체 추적기능 적용
    <system.web> 단 태그에 코드 추가
    Web.config

    <system.web>

    <!-- 사이트 전체 레벨에서 추적 기능 적용 -->

    <trace enabled="true" pageOutput="true" localOnly="true"/>

    </system.web>

    테스트를 위해 새 항목 추가 - Web Form ( Login.aspx )
    추가한 웹 폼 (Login.aspx) 바로 테스트
    결과확인

    [그림52-3]


    어전에 Default.aspx 페이지 로드 코드 입력값이 그대로 출력됨

    - 다른 페이지인 Login.aspx 페이지에서 Session, application의 값이 그대로 살아있기 때문
    - 삭제 하고 싶을땐 인터넷 옵션에서 쿠기/세션 삭제


    추적Trace 명령어
    1. Trace.Write() 메서드 : 실행 시점에 추적 결과 리스트 출력
    2. Trace.IsEnables 속성 : Trace가 enables가 true면 true를 반환

    Login.aspx의 코드 비하인드 페이지로 이동 코드 작성
    Login.aspx.cs

    protected void Page_Load(object sender, EventArgs e)

    {

        if (Trace.IsEnabled)

        {

            Trace.Write("닷넷", "안녕하세요");// 어느시점에 실행되는지 확인

        }

    }


    결과확인

    [그림52-4]



    반응형

    Comments