普通 windows 服务的服务跟踪查看器

Service trace viewer for ordinary windows service

我有一个普通的 C# windows 服务来抓取网页,我遇到了与此处描述的问题类似的问题:An existing connection was forcibly closed by the remote host - WCF

我可以将服务跟踪查看器工具用于普通 windows 服务(它不是 wcf)吗?或者是否有我可以使用的替代跟踪实用程序?

是的,您可以通过向 app.config 添加 system.diagnostics 配置部分来添加侦听器。添加以下配置部分并将日志文件指向可写路径。

App.config:

<configuration>
  <!-- ... -->
  <system.diagnostics>
    <sources>
      <source name="System.ServiceModel" switchValue="Error" propagateActivity="true">
        <listeners>
          <add name="traceListener" type="System.Diagnostics.XmlWriterTraceListener"
            initializeData="c:\drop\servicename wcferror.svclog"/>
        </listeners>
      </source>
    </sources>
    <trace autoflush="true"></trace>
  </system.diagnostics>
</configuration>

如果您更喜欢记录事件日志,可以使用 System.Diagnostics.EventLogTraceListener 代替 System.Diagnostics.XmlWriterTraceListenerinitializeData 就是日志名称。