2012-03-08 32 views
62

Quiero escribir algunos resultados en la consola en ASP.NET (C#). Funciona en una aplicación de ventana, pero una aplicación web no funciona. Esto es lo que he intentado:Cómo usar Console.WriteLine en ASP.NET (C#) durante la depuración?

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

Pero no veo nada en el panel Salida. ¿Cómo resuelvo este problema?

+0

mira aquí, http://stackoverflow.com/questions/2522099/where-does-debug-write-output-to – labroo

Respuesta

137

Console.Write no funcionará en ASP.NET como se llama utilizando el navegador. Use Response.Write en su lugar.

Ver la pregunta sobre el desbordamiento de la pila Where does Console.WriteLine go in ASP.NET?.

Si quieres escribir algo a la ventana de salida durante la depuración, puede utilizar

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

pero esto sólo funcionará durante la depuración.

Ver la pregunta sobre el desbordamiento de la pila Debug.WriteLine not working.

+5

Response.Write va a escribir en la secuencia de respuesta HTTP, no creo @Leap Bun quiere que – labroo

+0

He actualizado mi respuesta – PraveenVenu

+0

@labroo Por supuesto. Respone.Write mostrará texto en el navegador. No puedo usarlo –

22

using System.Diagnostics;

Lo siguiente imprimirá a su salida, siempre y cuando el menú desplegable se establece en 'depuración' como se muestra a continuación.

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


enter image description here

+12

¡Intenté esto desde antes, no funciona! –

7

Si por cualquier motivo desea enviar la salida de Console.WriteLine, usted puede hacer esto:

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 ("Error Mensaje ") y Trace.Warn (" Mensaje de error ") son los métodos a usar en la web, es necesario decorar el encabezado de la página trace = true y en el archivo de configuración para ocultar la e Enviar el texto del mensaje al usuario final y permanecer en iis para la depuración del programador.

Cuestiones relacionadas