web-dev-qa-db-ja.com

デバッグ中にASP.NET(C#)でConsole.WriteLineを使用する方法は?

ASP.NET(C#)のコンソールに結果を書きたい。 Windowアプリケーションでは動作しますが、Webアプリケーションは動作しません。ここに私が試したものがあります:

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 ..................");
}

しかし、出力パネルには何も表示されません。この問題を解決するにはどうすればよいですか?

75
Leap Bun

Console.Writeはブラウザを使用して呼び出されるため、ASP.NETでは機能しません。代わりにResponse.Writeを使用してください。

Stack Overflowの質問ASP.NETのConsole.WriteLineはどこにありますか?を参照してください。

デバッグ中に出力ウィンドウに何かを書き込みたい場合は、使用できます

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

しかし、これはデバッグ中にのみ機能します。

Stack Overflowの質問Debug.WriteLine not workingを参照してください。

166
PraveenVenu

using System.Diagnostics;

以下に示すように、ドロップダウンが「デバッグ」に設定されている限り、以下が出力に出力されます。

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


enter image description here

24
cillierscharl

何らかの理由で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; }
    }
}
8
David

Trace.Write( "Error Message")およびTrace.Warn( "Error Message")は、Webで使用するメソッドです。ページヘッダーtrace = trueおよび構成ファイルで装飾メッセージを非表示にして終了する必要があります-userなど、プログラマのデバッグのためにiis自体にとどまるようにします。

2
DeepakJoseLopez

code-behind でresponse.writeメソッドを使用します。

1
albin.varghese

必ずデバッグモードでアプリケーションを起動してください(F5)、デバッグなしではありません(Ctrl+F5)次に、Visual Studioの[出力]パネルで[出力を表示:デバッグ]を選択します。

0
phn