如何在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。