我正在尝试使用 4.0 .Net Framework 跟踪用 C# 编写的 SOAP Web 服务。
遵循本教程后:http://msdn.microsoft.com/en-us/library/ty48b824%28v=vs.110%29.aspx 我按以下方式配置了 Web 服务客户端的应用程序配置:
<system.diagnostics>
<trace autoflush="true"/>
<sources>
<source name="System.Net">
<listeners>
<add name="TraceFile"/>
</listeners>
</source>
<source name="System.Net.Sockets">
<listeners>
<add name="TraceFile"/>
</listeners>
</source>
</sources>
<sharedListeners>
<add name="TraceFile" type="System.Diagnostics.TextWriterTraceListener" initializeData="trace.log"/>
</sharedListeners>
<switches>
<add name="System.Net" value="Verbose"/>
<add name="System.Net.Sockets" value="Verbose"/>
</switches>
Run Code Online (Sandbox Code Playgroud)
这是可行的,但是我不需要在跟踪日志中查看十六进制代码。我提到的教程说我需要将“tracemode”属性设置为“protocolonly”。但是,当我添加此属性时,视觉工作室告诉我此属性无效。
无论如何我尝试运行该程序。但是,当我创建 Web 服务类的实例时,我收到“TypeInitializationException”。如果我删除tracemode属性,客户端工作正常,但我仍然在跟踪日志中得到十六进制代码。