2009-12-04 53 views
20

我想在請求處理過程中打印一些痕跡。如何在ASP.NET環境中使用控制檯輸出?

但是,當我在這個環境中製作Console.WriteLine(「東西」)時,什麼都不顯示。

缺少什麼,爲了使用控制檯打印這些痕跡,我需要做些什麼?

+2

是什麼讓你覺得那裏是一個控制檯? –

回答

26

使用Debug.Write()並且通過IDE中的調試器輸出窗口觀察結果。

或者,使用功能非常強大的ASP.NET trace功能。啓用跟蹤後,您可以導航到Web應用程序根目錄中的trace.axd頁面。此頁面將顯示您的應用的跟蹤消息。

+0

我可以爲我的應用創建一些專用輸出嗎?我發現Debug.Write是在這裏做跟蹤的最佳選擇,但其他跟蹤正在由asp.net完成,我只想看看我的痕跡。 –

+0

是的。導航到Web應用程序根目錄中的trace.axd頁面。如果您的應用已啓用跟蹤功能,該頁面將僅顯示您的應用的跟蹤消息。 – CesarGon

+0

我不能得到debug.print或debug.write去VB Web應用程序的輸出窗口。 –

0

你在哪裏尋找輸出?

Console.WriteLine()寫入命令行 - 不寫入網頁。使用Response.Write()寫入網頁或在Visual Studio調試器中啓動應用程序以查看命令行輸出。

+0

我在看命令行/輸出,他們都沒有顯示任何東西。 –

4

您可以使用Response.Write將輸出寫入您的頁面進行調試,或在javascript中使用警報,甚至寫入日誌文件。有很多方法可以獲得調試輸出。還有一個可用於.Net的log4net(類似於log4j)

3

鑑於這是一個ASP.NET應用程序,我會做:

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

然後啓用跟蹤無論是對page or the application,然後就進入〜/的trace.axd看到的結果(他們可以也可以在頁面輸出結尾,具體取決於您選擇的配置選項)。

9

除了已經提到的,你可以簡單地寫入日誌文件的方法:

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

當然,你可以使用向使用Server.Mappath寫在你的web目錄中的文件。

7

我知道這是晚了,但你可以從你的C#腳本中使用下面的類

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

這樣,你可以實時看到你的日誌信息,您通過點擊該網站寫信給你的Javascript控制檯,就像你在js中一樣。

+1

所以這就是我真正想要的答案,但這真的是最簡單的方法嗎?聽起來有些複雜,不得不打印出一個腳本標籤並調用console.log來打印JS控制檯。簡單地寫入日誌就是'public static void ConsoleLog(string message){Response.Write(「」)}'。但似乎仍然應該建在...... – Uxonith

相關問題