与WCF Web服务的连接收到503错误

时间:2010-02-22 12:13:02

标签: c# wcf iis-6 web-services

我有一个作为Windows服务托管的WCF服务。托管它的服务器正在运行IIS6。

每隔一段时间客户端就会报告503 Service Unavailable错误。我在服务器端看不到任何问题:我可以看到我期望从服务本身进行的日志记录,应用程序或系统事件日志中没有条目。

客户端重试并且通常会成功,因此除了向负责客户端应用程序的开发人员建议他们在代码收到503错误时自动重新尝试时,我的进程有一种简单的方法来监视IIS并且是告知其响应导致错误?

所以我要做很多事情之一:

  1. 我可以将WCF进程调用到IIS中以获取状态代码吗?
  2. 我是否可以让IIS服务在事件日志(或回调函数)中报告503错误,以便以某种方式通知WCF进程?
  3. 我应该只是获取客户端代码来处理这种情况,毕竟重试通常是成功的。

1 个答案:

答案 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分析生成的日志数据。