디버그 중에 ASP.NET (C #)에서 Console.WriteLine을 사용하는 방법은 무엇입니까?


89

ASP.NET (C #)의 콘솔에 일부 결과를 쓰고 싶습니다. Window 응용 프로그램에서는 작동하지만 웹 응용 프로그램은 작동하지 않습니다. 내가 시도한 것은 다음과 같습니다.

protected void btonClick_Click(object sender, EventArgs e)
{
    Console.WriteLine("You click me ...................");
    System.Diagnostics.Debug.WriteLine("You click me ..................");
    System.Diagnostics.Trace.WriteLine("You click me ..................");
}

하지만 출력 패널에 아무것도 표시되지 않습니다. 이 문제를 어떻게 해결합니까?


답변:


186

Console.Write는 브라우저를 사용하여 호출되므로 ASP.NET에서 작동하지 않습니다. 대신 Response.Write를 사용하십시오.

Stack Overflow question Console.WriteLine은 ASP.NET에서 어디에 있습니까?를 참조하십시오 . .

디버깅 중에 Output 창에 무언가를 쓰고 싶다면 다음을 사용할 수 있습니다.

System.Diagnostics.Debug.WriteLine("SomeText");

그러나 이것은 디버그 중에 만 작동합니다.

Stack Overflow question Debug.WriteLine not working을 참조하십시오 .


6
Response.Write에는 HTTP 응답 스트림에 쓸 것, 나는 @Leap 롤빵가 원하는 것 같아요
labroo

@labroo 물론입니다. Respone.Write는 브라우저에 텍스트를 표시합니다. 나는 그것을 사용할 수 없습니다.
Leap Bun 2012 년

1
@PraveenVenu 나는 이미 System.Diagnostics.Debug.WriteLine ( "SomeText"); 질문에!
Leap Bun 2012 년

2
Listeners 컬렉션을 조작하여 System.Diagnostics.Debug의 출력을 변경할 수 있습니다. 참조 MSDN을 추가 정보를 원하시면
T. 파브르에게

질문에 추가 한 댓글이 도움이되지 않습니까?
labroo

28

using System.Diagnostics;

드롭 다운이 아래와 같이 '디버그'로 설정되어있는 한 다음은 출력에 인쇄됩니다.

Debug.WriteLine("Hello, world!");


여기에 이미지 설명 입력


9

어떤 이유로 든의 출력을 포착하고 싶다면 다음을 Console.WriteLine수행 할 수 있습니다.

protected void Application_Start(object sender, EventArgs e)
{
    var writer = new LogWriter();
    Console.SetOut(writer);
}

public class LogWriter : TextWriter
{
    public override void WriteLine(string value)
    {
        //do whatever with value
    }

    public override Encoding Encoding
    {
        get { return Encoding.Default; }
    }
}

2

Trace.Write ( "Error Message") 및 Trace.Warn ( "Error Message")는 웹에서 사용하는 메서드이며, 페이지 헤더를 장식해야합니다. trace = true 및 구성 파일에서 끝으로 이동하기 위해 오류 메시지 텍스트를 숨길 필요가 있습니다. -user 및 프로그래머 디버그를 위해 iis 자체에 머물러 있습니다.



0

IIS 서버로 시작하면 안됩니다. 시작 설정을 확인 launchSettings.json하고 IIS가 아닌 프로젝트 이름 ( 파일 에서이 이름 변경)으로 전환되었는지 확인하십시오 .

여기에 이미지 설명 입력


-1

F5디버깅 ( Ctrl+ F5)이 아닌 디버그 모드 ( ) 에서 응용 프로그램을 시작한 다음 Visual Studio의 출력 패널에서 "다음에서 출력 표시 : 디버그"를 선택합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.