我有一个作为Windows服务托管的WCF服务。托管它的服务器正在运行IIS6。
每隔一段时间客户端就会报告503 Service Unavailable错误。我在服务器端看不到任何问题:我可以看到我期望从服务本身进行的日志记录,应用程序或系统事件日志中没有条目。
客户端重试并且通常会成功,因此除了向负责客户端应用程序的开发人员建议他们在代码收到503错误时自动重新尝试时,我的进程有一种简单的方法来监视IIS并且是告知其响应导致错误?
所以我要做很多事情之一:
答案 0 :(得分:2)
当您将WCF服务作为Windows服务托管时,您不再依赖IIS。我猜的唯一常见部分是协议栈HTTP.SYS。我建议您激活登录到服务配置文件,它将为您提供大量信息:
<system.diagnostics>
<trace autoflush="true" />
<sources>
<source name="System.ServiceModel"
switchValue="Information, ActivityTracing"
propagateActivity="true">
<listeners>
<add name="sdt"
type="System.Diagnostics.XmlWriterTraceListener"
initializeData= "WcfDetailTrace.svclog" />
</listeners>
</source>
</sources>
</system.diagnostics>
然后使用SvcTraceViewer.exe分析生成的日志数据。