2012-03-08 10 views
62

Desidero scrivere alcuni risultati sulla console in ASP.NET (C#). Funziona in un'applicazione Window, ma un'applicazione Web non funziona. Ecco che cosa ho provato:Come utilizzare Console.WriteLine in ASP.NET (C#) durante il debug?

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

ma non vedo nulla nel pannello Output. Come risolvo questo problema?

+0

un'occhiata qui, http://stackoverflow.com/questions/2522099/where-does-debug-write-output-to – labroo

risposta

137

Console.Write non funzionerà in ASP.NET come viene chiamato utilizzando il browser. Utilizzare invece Response.Write.

Vedere Stack di overflow domanda Where does Console.WriteLine go in ASP.NET?.

Se si vuole scrivere qualcosa di finestra di output durante il debug, è possibile utilizzare

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

ma questo funziona solo durante il debug.

Vedere la domanda Overflow pila Debug.WriteLine not working.

+5

Response.Write scriverà al flusso di risposta HTTP, non penso @Leap Bun vuole che – labroo

+0

Ho aggiornato la mia risposta – PraveenVenu

+0

@labroo Naturalmente. Respone.Write mostrerà il testo al browser. Non posso usarlo –

22

using System.Diagnostics;

Quanto segue stampa per l'output fino a quando la discesa è impostato su 'debug' come illustrato di seguito.

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


enter image description here

+12

L'ho provato da prima, non funziona! –

7

Se per qualsiasi motivo si desidera catturare l'uscita di Console.WriteLine, si può fare questo:

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

Trace.Write ("Errore Messaggio ") e Trace.Warn (" Messaggio di errore ") sono i metodi da utilizzare nel web, è necessario decorare l'intestazione della pagina trace = true e nel file di configurazione per nascondere la e rror text text to go to end-user e in modo da rimanere in iis stesso per il debug del programmatore.

2

Utilizzare il metodo response.write nello code-behind.

Problemi correlati