2010-07-06 2 views
0

나는 서비스를 소비하는 클래스에의 ctor에서 그들을 통과 종속성로 처리 :wcf 서비스 클라이언트를 만들고 관리하는 방법은 무엇입니까? 처음에는

var serviceConsumer = new ServiceConsumer(new MailingServiceClient()) 

문제 예외가 서비스에서 던져졌다 일단은 오류 상태를 입력하고 응답하지 않을 것이라고했다 모든 요청에 ​​대해 재 초기화가 필요했습니다.

더 많은 경우 wcf 서비스는 생성 된 프록시의 dispose 메서드가 고장 났으므로 (오류 상태를 확인하지 않고 닫을 때 호출 함) 여러 가지 이유로 wcf 서비스가 제대로 처리되지 않을 수 있음을 알고있었습니다. 그것을 극복하기 :

  1. wrapping every call to every service.
  2. override the default IDisposable behavior of the scvutil.exe-generated class

내가 테스트를 이유로 자신을 서비스 클라이언트를 작성하는 소비자 코드를 좋아하지 않을 때문에, 내 질문은 다음과 같습니다 :

  • 작동하지 않는 작동중인 서비스를 어떻게 유지합니까?

  • 테스트 가능성을 위해 종속성 주입을 어떻게 사용할 수 있습니까?

+0

여기가 두 번째 링크입니다. http://blog.davidbarrett.net/archive/2007/11.aspx – AlonEl

+0

"WCF 클라이언트 의존성 주입"을 검색 할 때 많은 조회가 있어야합니다. google이나 bing으로 이동하십시오. 그곳에! –

답변

0

좋은 해결책을 찾았습니다.

프록시 생성기는 VS를 대체하고 프록시 결함, 시간 초과 및 올바른 처리를 처리하는 기본 프록시 주위에 래퍼를 생성합니다.

http://wcfproxygenerator.codeplex.com/

나를 위해 잘 작동하는 것 같군.

관련 문제