2011-07-28 2 views
2

다소 큰 응용 프로그램을 개발 중이며 IErrorHandler를 여러 조건으로 구현하고 싶습니다. 그러나 모든 오류에 대해 모든 인스턴스가 호출됩니다. WCF에 오류가 특정 인스턴스에 의해 처리되어 목록에 남아있는 핸들러가 호출되지 않는다고 말할 수있는 방법이 있습니까?WCF에서 다른 IErrorHandlers를 바로 가기/바이 패스 할 수 있습니까?

(좀 더 자세히 알려면 "기본"오류 처리기를 추가하는 타사 도구 키트를 사용하고 있습니다. 즉, 우리가하는 일과 상관없이이 처리기가 호출되어 일부 변경 사항이 취소됩니다.)

답변

1

당신은 단지 공급자 패턴을 사용할 수 있으며 그 안에는 오류 처리기 목록이 있습니다. 그런 다음 원하는 핸들러에 위임 할 조건을 지정할 수 있습니다.

즉, 순차적으로 실행되는 많은 코드를 연결하는 대신 모든 핸들러를 포함하는 1 개의 오류 처리기를 연결합니다.

+0

예, 대다수의 경우 작동합니다. 그러나 웹 API는 기본 오류 처리기를 WCF에 직접 추가하므로 오류 처리기를 우회하는 문제가 해결되지 않습니다. 다행히도 작년에 작성한 원래 게시물 이후로 Microsoft는 웹 API 코드를 업데이트하여 사용자 지정 처리기가 오류를 '처리'할 때 기본 처리기가 호출되지 않도록했습니다. 그래도 좋은 제안. – SonOfPirate

관련 문제