2012-11-30 2 views
0

프로젝트에서 WCF 통합과 함께 Autofac을 사용하고 있습니다. 전선을 가로 질러 전체 객체 그래프를 전송하는 것을 피하기 위해 데이터 계약 프록시 콜렉션 프로퍼티를 초기화하는 것을 게으른 방법으로 생각하고 있습니다.역 직렬화 된 데이터 계약 프록시에서 서비스 주입

나의 현재 계획은 서비스를 호출하고 컬렉션 속성 데이터를 가져 와서 초기화하기 위해 각 비 직렬화 된 데이터 계약에 WCF 서비스를 주입하는 것입니다.

제 질문은 : 클라이언트에서 직렬화 된 각 데이터 계약 프록시에 서비스를 삽입하도록 Autofac에 지시하는 방법이 있습니까? DataContractSerializer 또는 뭔가에서 일부 조정처럼.

(없음 서비스 로케이터, 제발 ...)

감사합니다!

답변

0

Autofac과 함께 사용할 수있는 "out of the box"와 같은 것은 없습니다. Autofac의 MVC 통합에는 비슷한 점이 있지만, MVC는 이런 종류의 통합 포인트 (IActionInvoker)를 가지고 있기 때문에 가능합니다.

클레임의 특정 알려진 유형 (예 : 콜렉션)을 가로 채고 지연 초기화 된 모음에서 스와핑하는 사용자 정의 클라이언트 측 동작을 작성할 수 있습니다. There's a similar question here asking about how to swap the DataContractSerializer out at runtime. 그런 메커니즘을 사용할 수 있습니다.