2009-09-25 2 views
0

시간 초과 오류가 발생하면 실행하는 모든 WCF 작업마다 확장 프로그램을 작성하려고합니다. 새 프록시를 선택하고 다시 시도하십시오 (한 번).시간 초과 오류로 채널을 재구성하기 위해 WCF 확장 점에 대한 도움이 필요합니다.

나는 Michelle Leroux Bustamante가 동일한 코드 랑 프록시를 작성했지만 서비스 클라이언트를 수정하거나 교체하지 않고이 작업을 수행하려고 노력하고 있음을 알고 있습니다. (서비스에서 프록시를받습니다. 공급자).

이것이 가능합니까? 내가 필요한 확장 점이라고 생각하는 IClientMessageIntercepter를 보면서 메시지 수정이나 메시지에 대한 주석 달기 (예 : 로깅) 이외의 다른 방법을 파악할 수 없었습니다.

도와주세요, Thanks - Assaf.

답변

1

실제로 확장 점을 사용할 수는 없습니다. 외부 확장 대신 요청 자체의 "실행 파이프 라인"의 일부로 실행되기 때문에 확장 점을 실제로 사용할 수 있다고 생각합니다.

정말로 최선의 방법은 수정 된 프록시이며 공급자로부터 프로 시저가 전달된다는 사실을 이해하는 동안 모든 데이터 계약과 메시지 정의를 유지하고 사용자 정의를 구현할 수있는 이유가 없습니다 ClientBase <T> - 실제 프록시 역할을하는 파생 클래스 (Michelle의 도구로 생성 된 코드를 기반으로 할 수 있음).

그게 옵션이 아니라면, 나는 옛날 방식대로 할 수 밖에 없다고 생각합니다 : 귀하의 재시도를 처리하는 자신의 클래스에서 귀하의 제공 업체가 제공 한 프록시를 래핑하십시오.

1

확장 점은 없습니다.

그러나 Castle WCF Facility은 WCF 위에있는 지능형 레이어이며이를 수행 할 수 있습니다.

웹 사이트의 설명서는 구식이지만 단위 테스트를 살펴 보거나 질문이있을 경우 사용자 그룹에 문의하십시오.