내 계약 보이는 경우 : 당신이 웹 서비스 참조를 가져올 때WCF 웹 서비스에서 반환 매개 변수가 끝나는 매개 변수를 방지하려면 어떻게해야합니까? 다음과 같이
string DoSomething(int id);
:
[OperationContract]
void DoSomething(int id, out string moreInfo);
이처럼 보이는 끝납니다. 매개 변수 순서의 자동 변환에 영향을 미칠 수 있습니까? 함수 시그니처 시작 부분에 모든 out 매개 변수를 찾는 것은 이미 놀라운 일 이었지만 여전히 유효하지만 void 메소드가 계속 void 메소드가 되길 바란다. 아니면 SOAP의 제한 사항입니까?
WSDL 제한에 기초한 것으로 보인다
이 경우 단일 'out'매개 변수가있는 void 메서드는 사실 올바른 반환 값을 가진 비 void 메서드입니다. 'out' 매개 변수를 정의하면 non-out 버전이 아닌 것을 알 수 있습니까? –
@Adam 웹 서비스 설계시 직각 성이 있어야합니다. 우리는 원래 가치를 반환하는 서비스와 그렇지 않은 서비스를 가지고있었습니다. 그러나 각 서비스는 상태를 반환하도록 리팩토링되었습니다. 추가 매개 변수를 강요하면 빌드가 자동으로 실패하고 어디에서 문제를 해결할 것인지 알 수 있습니다. 또한 나머지 매개 변수와 상관없이 첫 번째 매개 변수가 상태를 포함하는 out-param이라는 사실을 항상 알고 있으면 편리합니다. – Abel
저는 WCF가 그 작업을위한 프록시를 생성 할 수 있다는 사실에 실제로 놀랐습니다. 처음에'out' 매개 변수를 사용하는 이유는 무엇입니까? – MattDavey