我正在尝试在ASP.NET Web应用程序的输出窗口中看到我的代码中的foreach循环的输出,但即使有有效数据,我也没有得到任何结果。我在这个问题上使用谷歌进行了相当多的搜索,但我没有做过任何工作。这是我的ASPX页面中的代码:
List<MyClass> myClasses = GetMyClasses();
foreach (MyClass myClass in myClasses)
{
Debug.WriteLine(myClass.SomeProperty);
}
代码非常简单。当我调试这个页面时,myClass.SomeProperty具有我想要的值,但没有任何东西被打印到输出窗口。我能错过什么?我无法使用Response.Write,因为我的Response流用于创建Excel文件。我也不想使用跟踪。
我在我的web.config文件中有这个:
<system.web>
...
<compilation debug="true" targetFramework="4.0">
...
</system.web>
答案 0 :(得分:1)
(抱歉没有完整答案,但评论有点长)
有调试相关功能。 (相关What does the optimize switch do)
您的问题需要DEBUG
条件。我想debug="true"
开关只影响调试符号,但不影响条件。
编辑:
嗯奇怪。 scottgu在http://weblogs.asp.net/scottgu/archive/2005/11/06/429723.aspx指出debug="true"
应该影响该条件。
请注意,Web应用程序中的debug值由web.config文件中的值值驱动。
答案 1 :(得分:1)
您正在使用System.Diagnostics.Trace,而不是ASP.NET跟踪。要使System.Diagnostics.Trace在ASP.NET中工作,请参阅http://msdn.microsoft.com/en-us/library/b0ectfxd(v=vs.85).aspx。
答案 2 :(得分:0)
我也有同样的问题,但后来发现Debug.Writeline()不适用于我的单元测试。
答案 3 :(得分:0)
你有没有设置
<system.web> <compilation debug="true" defaultLanguage="c#" /> </system.web>
你的web.config中的?