Trace ActivityId получает сброс в обработчике ошибок WCF
У меня есть сервис WCF с реализацией IErrorHandler. В его методе HandleError я регистрирую исключение, используя TraceSource:
public bool HandleError(Exception error)
{
tracer.TraceEvent(TraceEventType.Error, 0, error.ToString());
return true;
}
Однако, когда этот метод введен, Trace.CorrelationManager.ActivityId изменился по сравнению с тем, что я установил в начале метода обслуживания. Таким образом, я получаю запись в журнале с произвольным идентификатором активности, которая разрушает след активности.
WCF делает это? и почему?
1 ответ
Решение
Я думаю, вам нужно проделать дополнительную работу из-за WCF.
Посмотрите, поможет ли эта ссылка:
Расширение / Custom FaultContractExceptionHandler для обработки исключений в WCF