0

我有一个带有 IErrorHandler 实现的 WCF 服务。在其 HandleError 方法中,我使用 TraceSource 记录异常:

public bool HandleError(Exception error)
{
    tracer.TraceEvent(TraceEventType.Error, 0, error.ToString());
    return true;
}

但是,当输入此方法时,Trace.CorrelationManager.ActivityId 已从我在服务方法开始时设置的更改。所以我得到一个带有一些随机活动 ID 的日志条目,这会破坏活动跟踪。

WCF 是这样做的吗?为什么?

4

1 回答 1

1

我认为由于 WCF,您需要做一些额外的工作。

看看这个链接是否有帮助:

为 WCF 中的异常处理扩展/自定义 FaultContractExceptionHandler

于 2013-02-15T13:10:43.040 回答