如何在debugging期间在ASP.NET(C#)中使用Console.WriteLine?

我想写一些结果到ASP.NET(C#)的控制台。 它在Window应用程序中工作,但Web应用程序不起作用。 这是我所尝试的:

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

但是我在“输出”面板中什么都看不到。 我如何解决这个问题?

Console.Write在ASP.NET中不起作用,因为它使用浏览器调用。 改用Response.Write。

请参阅堆栈溢出问题Console.WriteLine在ASP.NET中去哪里?

如果您想在debugging过程中将某些内容写入输出窗口,可以使用

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

但是这只会在debugging过程中起作用。

请参阅堆栈溢出问题Debug.WriteLine不起作用

using System.Diagnostics;

只要将下拉菜单设置为“debugging”,下面将打印到您的输出中,如下所示。

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


在这里输入图像说明

如果因为某种原因想要捕获Console.WriteLine的输出,可以这样做:

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

在代码隐藏中使用response.write方法。

Trace.Write(“错误信息”)和Trace.Warn(“错误信息”)是web中使用的方法,需要修饰页眉trace = true并在configuration文件中隐藏错误信息文本到结束用户,以便留在iis本身进行程序员debugging。