2012-11-19 2 views
6

거대한 WSDL이 있지만 그 중 몇 가지 방법이 필요합니다.일부 작업으로 만 WSDL 필터링

이러한 메서드에 대해서만 WCF 프록시를 생성 할 수 있습니까?

"전체 구현"은 내 DLL에 9 메가 바이트를 추가합니다.

답변

1

수동으로 데이터 계약 및 관심있는 바로 작업을 포함하는 인터페이스를 구축하고 만 작업을 대상으로하는 기본 클라이언트를 만들 ChannelFactory와 그 인터페이스를 사용하거나 ...

수 있습니다. 필요한 작업 및 요소에서 WSDL을 제거하고 svcutil.exe에 결과를 제공하여 간단한 클라이언트를 만들 수도 있습니다. 더 안전한 접근법은 svcutil.exe에 큰 WSDL을 공급하고 생성 된 코드에서 필요없는 것을 제거하는 것입니다 (컴파일러가 사용자가 원하지 않는 것을 삭제하면 컴파일러가 즉시 알려줄 것이기 때문에 더 안전합니다).

어느 쪽이든, 수동 중재를 수행해야합니다.

1

svcutil에는 /excludeType 플래그가 있습니다. 메타 데이터 내보내기 및 유형 생성 중에 사용할 수 있습니다. 는 svcutil 명령 줄 도움말에서

:

/excludeType : - 정규화 또는 수출 또는 유효성 검사에서 제외 할 유형 이름 어셈블리 자격. 이 옵션은 서비스에 대한 메타 데이터 내보내기 또는 서비스 계약 집합을 으로 내보낼 때 제외 할 때 사용할 수 있습니다. 이 옵션은 /dataContractOnly 옵션과 함께 사용할 수 없습니다. (짧은 형식 :/등)

How do I export metadata for a single contract with svcutil.exe?에 대한 대답은 그것을 simliar 문제를 해결하는 데 사용합니다.

나는 방법으로 그것을 수행하는 "아웃 박스"방법을 모르기 때문에 당신을 위해 유형 필터링이 효과가 있기를 바랍니다.

관련 문제