我很难输出通过Global.asax中的Trace.WriteLine写入的消息,它们不会出现在Trace.axd中。
我添加了WebPageTraceListener
和TextWriterTraceListener
,但我所看到的只是您在跟踪中看到的正常页面事件。
我是否错过了一个步骤,以便将Global.asax中写入的跟踪消息写入文件/跟踪日志?我在Application_AuthenticateRequest
事件中进行了一些登录。
答案 0 :(得分:5)
您是否使用TRACE
开关进行编译或更新web.config以自动执行此操作?
从您链接到的MSDN页面(强调我的):
尽管只要启用了跟踪,ASP.NET就会显示跟踪消息 对于页面,System.Diagnostics跟踪消息仅在时写入 跟踪消息所在的代码是使用a编译的 显式编译器开关 - TRACE开关。换句话说,如果你这样做 你没有使用TRACE开关显式编译AuthorClass 即使使用
WebPageTraceListener
,也不会看到跟踪消息 加入。您可以将应用程序配置为使用自动编译 TRACE切换,在Web.config文件中添加一个新部分。
这是应放在<system.diagnostics>
部分之后的Web.config条目:
<system.codedom>
<compilers>
<compiler language="c#;cs;csharp"
extension=".cs"
compilerOptions="/d:TRACE"
type="Microsoft.CSharp.CSharpCodeProvider, System, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" warningLevel="1" />
<compiler language="VB"
extension=".vb"
compilerOptions="/d:Trace=true"
type="Microsoft.VisualBasic.VBCodeProvider, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
</compilers>
</system.codedom>