使用系统.诊断.在ASP中调试.NET应用程序

本文关键字:调试 NET 应用程序 ASP 系统 诊断 | 更新日期: 2023-09-27 17:58:59

我正试图在ASP的输出窗口中查看代码中foreach循环的输出。NET网络应用程序,但我没有得到任何结果,即使有有效的数据。对于这个问题,我已经用谷歌做了相当多的搜索,但我所做的都不起作用。这是我的ASPX页面中的代码:

List<MyClass> myClasses = GetMyClasses();
foreach (MyClass myClass in myClasses)
{
    Debug.WriteLine(myClass.SomeProperty);
}

代码非常直接。调试此页面时,myClass。SomeProperty具有我想要的值,但没有任何内容被打印到输出窗口。我会错过什么?我不能使用响应。写入是因为我的响应流正被用于创建Excel文件。我也不想使用跟踪。

更新

我的web.config文件中有这个:

<system.web>
    ...
    <compilation debug="true" targetFramework="4.0">
    ...
</system.web>

使用系统.诊断.在ASP中调试.NET应用程序

(抱歉没有完整答案,但有点长需要评论)

有一些与调试相关的功能。(相关优化开关做什么)

  • 调试符号的生成
  • C#IL优化
  • 抖动优化
  • DEBUG条件定义

您的问题需要的是DEBUG条件。我猜debug="true"开关只影响调试符号,而不影响条件符号。


编辑:嗯,奇怪。斯科特谷州http://weblogs.asp.net/scottgu/archive/2005/11/06/429723.aspxCCD_ 3应该影响该条件。

请注意,web应用程序中debug的值由web.config文件中的值驱动。

您使用的是System。诊断。跟踪,而不是ASP。NET跟踪。获取系统。诊断。在ASP。NET参见http://msdn.microsoft.com/en-us/library/b0ectfxd(v=vs.85).aspx.

我也遇到了同样的问题,但后来发现Debug。Writeline()不适用于我的单元测试。

你设置了吗

<system.web> <compilation debug="true" defaultLanguage="c#" />  </system.web>

在你的web.config中?