【发布时间】:2015-12-05 22:18:27
【问题描述】:
以下代码在 Visual Studios 中可以很好地返回跟踪输出,但是当我尝试在 IIS 上的 aspx 页面中运行相同的代码时,它会停止工作。这可能吗?如果可以,我错过了什么?
System.Diagnostics.Trace.AutoFlush = true;
StringBuilder traceBuilder = new StringBuilder();
StringWriter stringWriter = new StringWriter(traceBuilder);
using (System.Diagnostics.TextWriterTraceListener textWriterTraceListener = new TextWriterTraceListener(stringWriter))
{
System.Diagnostics.Trace.Listeners.Add(textWriterTraceListener);
System.Diagnostics.Trace.WriteLine("HELLO WORLD!");
System.Diagnostics.Trace.Flush();
textWriterTraceListener.Flush();
}
stringWriter.Flush();
string traceOutput = traceBuilder.ToString();
HttpContext.Current.Response.Write("traceOutput - " + traceOutput);
【问题讨论】:
-
traceOutput输出如何? -
嗯,这很奇怪。我会设置断点并单步执行代码以查看发生了什么。
-
当我调试它跳过 Trace.WriteLine 代码行。所以这就解释了为什么我没有得到输出,但为什么它跳过了那行代码?
标签: c# asp.net iis tracelistener