2

我正在编写一个具有事务队列的 WCF 服务。如果消息处理继续失败,它将被发送到毒物队列,并被另一个记录这些失败的服务读取。

问题是:如何访问引发的阻止消息处理的异常?

4

1 回答 1

1

您的消息最终进入毒物队列的原因是您的 WCF 服务引发了未捕获的异常。

因此,您可以在 WCF 服务中添加全局异常处理程序,并将其记录在事件查看器或日志或您喜欢的任何内容中。

您可以做的另一件事是通过将以下内容添加到 app.config 以记录任何严重或错误来配置跟踪:

<system.diagnostics>
    <sources>
        <source name="System.ServiceModel" switchValue="Error, Critical" propagateActivity="true">
            <listeners>
                <add name="traceListener" type="System.Diagnostics.XmlWriterTraceListener" initializeData="c:\traces.svclog" />
            </listeners>
        </source>
    </sources>
</system.diagnostics>

查看receiveErrorHandling 选项,当您的 WCF 遇到未捕获的异常时您可以执行哪些操作。

于 2014-07-30T08:39:41.443 回答