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 ..................");
}
しかし、出力パネルには何も表示されません。この問題を解決するにはどうすればよいですか?
Console.Writeはブラウザを使用して呼び出されるため、ASP.NETでは機能しません。代わりにResponse.Writeを使用してください。
Stack Overflowの質問ASP.NETのConsole.WriteLineはどこにありますか?を参照してください。
デバッグ中に出力ウィンドウに何かを書き込みたい場合は、使用できます
System.Diagnostics.Debug.WriteLine("SomeText");
しかし、これはデバッグ中にのみ機能します。
Stack Overflowの質問Debug.WriteLine not workingを参照してください。
using System.Diagnostics;
以下に示すように、ドロップダウンが「デバッグ」に設定されている限り、以下が出力に出力されます。
Debug.WriteLine("Hello, world!");
何らかの理由で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; }
}
}
Trace.Write( "Error Message")およびTrace.Warn( "Error Message")は、Webで使用するメソッドです。ページヘッダーtrace = trueおよび構成ファイルで装飾メッセージを非表示にして終了する必要があります-userなど、プログラマのデバッグのためにiis自体にとどまるようにします。
code-behind でresponse.writeメソッドを使用します。
必ずデバッグモードでアプリケーションを起動してください(F5)、デバッグなしではありません(Ctrl+F5)次に、Visual Studioの[出力]パネルで[出力を表示:デバッグ]を選択します。