2010-04-15 5 views

답변

19

이들은 컴파일러 의미론이므로 아니오라고 말하고 싶습니다. 그러나 당신은 그들이 다음과 같은 유일한 방법으로 일할 것으로 기대합니다.

서비스 코드 쪽에서는 모든 코드가 기본값 매개 변수를 사용합니다.

클라이언트 측에서는 VS2010의 '서비스 참조 추가'도구가 기본값을 사용하지 않고 생성 된 프록시에 추가한다는 점에 유의합니다. 그래서 당신은 자신의 프록시를 생성해야합니다.

이렇게하면 클라이언트 측 계약 구현에 기본값이 지정되면 클라이언트 코드에서 기본값을 사용할 수 있습니다.

명명 된 매개 변수에 대해서도 마찬가지입니다.

모두 예,하지만 물건은 WCF를 통해 전달되지 않습니다. 모든 일은 클라이언트 프록시가 적절한 매개 변수로 채널 팩토리로 보내야한다는 것입니다.

+2

이 문제의 근본적인 이유는 WSDL도 MEX도 C# 프로그래밍 언어의 기능에 대해 아무 것도 모른다는 것입니다. 옵션 매개 변수를 설명 할 방법이 없습니다. –

30

WSDL은 선택적 매개 변수를 설명 할 수 없으므로 대답은 "아니오"입니다.

+2

[OperationContract]가 선택적 매개 변수를 필요한 매개 변수로 조용히 변환하는 것은 불행한 일입니다. ( – epalm

+1

@epalm : 아무 것도 변환하지 않으며 관련이없는 것만 무시합니다. –

+0

설명 : WCF 서비스를 호스트하고 Metadata Exchange를 통한 프록시, 생성 된 Reference.cs의 메소드에는 서비스의 메소드에 선택적 매개 변수가 포함되어 있어도 매개 변수가 필요합니다. – epalm

관련 문제