web-dev-qa-db-ja.com

ASP.NET環境でコンソール出力を使用するにはどうすればよいですか?

リクエストの処理中にいくつかのトレースを印刷したいと思います。

しかし、この環境でConsole.WriteLine( "something")を作成すると、何も表示されません。

不足しているもの、コンソールを使用してこれらのトレースを印刷するには何が必要ですか?

25

Debug.Write()を使用して、IDEのデバッガーの出力ウィンドウから結果が表示されることを確認します。

または、非常に強力な ASP.NETトレース 機能を使用します。トレースを有効にすると、Webアプリのルートディレクトリにあるtrace.axdページに移動できます。このページには、アプリのトレースメッセージが表示されます。

29
CesarGon

すでに述べた方法に加えて、単にログファイルに書き込むことができます。

File.AppendAllText(@"c:\log.txt", @"Debug Message Here!" + Environment.NewLine);

もちろん、Server.MapPathを使用して、Webディレクトリにファイルを書き込むこともできます。

9
user113476

私はこれが遅いことを知っていますが、次のクラスを使用してC#スクリプトからJavaScriptコンソールに書き込むことができます

public static class Javascript
{
    static string scriptTag = "<script type=\"\" language=\"\">{0}</script>";
    public static void ConsoleLog(string message)
    {       
        string function = "console.log('{0}');";
        string log = string.Format(GenerateCodeFromFunction(function), message);
        HttpContext.Current.Response.Write(log);
    }

    public static void Alert(string message)
    {
        string function = "alert('{0}');";
        string log = string.Format(GenerateCodeFromFunction(function), message);
        HttpContext.Current.Response.Write(log);
    }

    static string GenerateCodeFromFunction(string function)
    {
        return string.Format(scriptTag, function);
    }
}

そうすることで、jsと同じように、サイトをクリックするとリアルタイムでログメッセージを確認できます。

9
MichaelTaylor3D

Response.Writeを使用して、デバッグのためにページに出力を書き込んだり、JavaScriptでアラートを使用したり、ログファイルに書き込んだりすることもできます。デバッグ出力を取得するには多くの方法があります。使用できる.Net用のlog4netもあります(log4jと同様)。

4
dcp

ASP.NETアプリケーションであることを考えると、次のようにします。

Page.Trace.Write ("Something here");

次に ページまたはアプリケーション のトレースを有効にして、〜/ Trace.axdに移動して結果を確認します(選択した構成オプションによっては、ページ出力の最後に表示される場合もあります)。

3
Gonzalo

出力をどこで探していますか?

Console.WriteLine()は、Webページではなくコマンドラインに書き込みます。 Response.Write()を使用してWebページに書き込むか、Visual Studioデバッガーでアプリケーションを起動してコマンドライン出力を確認します。

1
ctford