首页 > 代码库 > 使用svctraceviewer查看WCF服务异常信息

使用svctraceviewer查看WCF服务异常信息

这两天遇到一个问题,调用一个WCF服务的时候,服务器端正常的返回了数据,但是客户端却遇到了一场

System.ServiceModel.CommunicationException: The underlying connection was closed: The connection was closed unexpectedly.

直接调试查看堆栈信息也没有弄清楚怎么回事。最后上网搜了一下,发现一个获取WCF运行信息的工具。

1.打开服务器端wcf服务的web.config配置文件并添加如下的信息:

<system.diagnostics>
 <!-- This logging is great when WCF does not work. -->
 <sources>
  <source name="System.ServiceModel" switchValue="http://www.mamicode.com/Information, ActivityTracing" propagateActivity="true">
   <listeners>
    <add name="traceListener" type="System.Diagnostics.XmlWriterTraceListener" initializeData= "http://www.mamicode.com/c:/temp/traces.svclog" />
   </listeners>
  </source>
 </sources>
</system.diagnostics>

 

2.调用wcf服务,然后你会发现在c:\temp目录下多了一个叫traces.svclog的文件。

3.使用vs的command prompt打开svctraceviewer.exe,然后选择查看上面的svclog文件。你会发现很多wcf服务调用的信息,其中标红色的表示出现了错误。

 

svctraceviewer