如何以编程方式启用WCF跟踪?

Sat*_*Sat 5 wcf

有没有办法在不更改web.config的情况下为特定端点启用/禁用WCF跟踪/日志记录?

AFi*_*ein 2

您首先需要按 .config 文件中定义的名称访问跟踪对象。例如:

TraceSource ts = new TraceSource("System.ServiceModel");
Run Code Online (Sandbox Code Playgroud)

然后您可以将过滤器级别设置为全部、无或介于两者之间的任何值:

ts.Switch.Level = SourceLevels.Off;   // nothing
ts.Switch.Level = SourceLevels.All;   // everything
ts.Switch.Level = SourceLevels.Warning;   //warning or higher
Run Code Online (Sandbox Code Playgroud)

顺便说一句 - 该类TraceSource位于System.Diagnostics命名空间中,因此不要忘记适当的using语句。