¿Cómo usar Console.WriteLine en ASP.NET (C #) durante la depuración?

88

Quiero escribir algún resultado en la consola en ASP.NET (C #). Funciona en una aplicación de Windows, pero una aplicación web no funciona. Esto es lo que he probado:

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 soluciono este problema?

Leap Bun
fuente

Respuestas:

184

Console.Write no funcionará en ASP.NET, como se le llama usando el navegador. Utilice Response.Write en su lugar.

Consulte la pregunta de Stack Overflow ¿A dónde va Console.WriteLine en ASP.NET? .

Si desea escribir algo en la ventana de salida durante la depuración, puede usar

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

pero esto solo funcionará durante la depuración.

Consulte la pregunta de desbordamiento de pila Debug.WriteLine no funciona .

PraveenVenu
fuente
6
Response.Write escribirá en el flujo de respuesta http, no creo que @Leap Bun quiera eso
labroo
@labroo Por supuesto. Respone.Write mostrará el texto en el navegador. No puedo usarlo.
Leap Bun
1
@PraveenVenu Ya probé System.Diagnostics.Debug.WriteLine ("SomeText"); en la pregunta!
Leap Bun
2
Tenga en cuenta que puede cambiar la salida de System.Diagnostics.Debug manipulando la colección Listeners. Vea MSDN para más información
T. Fabre
¿El comentario que agregué a tu pregunta no ayuda?
labroo
27

using System.Diagnostics;

Lo siguiente se imprimirá en su salida siempre que el menú desplegable esté configurado en 'Depurar' como se muestra a continuación.

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


ingrese la descripción de la imagen aquí

cillierscharl
fuente
9

Si por alguna razón desea obtener el resultado Console.WriteLine, 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; }
    }
}
David
fuente
2

Trace.Write ("Mensaje de error") y Trace.Warn ("Mensaje de error") son los métodos para usar en la web, es necesario decorar el encabezado de la página trace = true y en el archivo de configuración para ocultar el texto del mensaje de error para ir al final -user y para permanecer en sí mismo para la depuración del programador.

DeepakJoseLopez
fuente
0

No debería iniciar como servidor IIS. verifique su configuración de inicio, asegúrese de que haya cambiado al nombre de su proyecto (cambie este nombre en su launchSettings.jsonarchivo), no al IIS.

ingrese la descripción de la imagen aquí

V.Wu
fuente
-1

Asegúrese de iniciar su aplicación en modo Depuración ( F5), no sin depurar ( Ctrl+ F5) y luego seleccione "Mostrar salida de: Depuración" en el panel Salida en Visual Studio.

phn
fuente