이 글은 기계 번역의 미러 문서이며, 원본 기사로 바로 이동하려면 여기를 클릭해 주세요.

보기: 16868|회답: 0

[WCF/웹 서빅스] 'xxx' 연산은 매개변수나 retu... 때문에 로드할 수 없었다...

[링크 복사]
게시됨 2016. 7. 20. 오전 10:59:59 | | |
'xxx' 연산은 System.ServiceModel.Channels.Message 타입의 매개변수 또는 반환 타입이거나 MessageContractAttribute 및 기타 매개변수를 가진 타입을 가지고 있어 로드할 수 없습니다 여러 종류에 해당합니다. System.ServiceModel.Channels.Message 또는 MessageContractAttribute가 포함된 타입을 사용할 때, 메서드는 다른 유형의 매개변수를 사용해서는 안 됩니다.

WCF에서 파일을 업로드하는 인터페이스를 작성했고, 업로드 결과를 반환하고 싶습니다. 인터페이스는 다음과 같습니다:



이 시점에서 실행은 다음과 같이 작성되면 오류를 보고합니다:



실행 중에도 오류가 보고됩니다!!!

앞서 말했듯이, 듀플렉싱이란 서로 오가는 거죠? 네, 위 방법은 들어오는 파라미터와 반환 값이 있고, 들어오고 가는 방식이 있으며, 듀플렉스이니 왜 안 되겠습니까?

하하, 문제는 메시지 프로토콜을 사용한다는 점입니다. 이 전제 하에서는, 메시지 프로토콜 메서드를 사용해 쉽게 정의할 수 없습니다. 만약 다음과 같다면:

a. 메시지 계약이 들어오는 매개변수로 사용된다면, 매개변수는 하나만 존재할 수 있으며, 다음 정의들은 부정확합니다:

무효 조정(BankingTransaction bt1, BankingTransaction bt2);

b. void를 반환하지 않는 한, 그렇지 않으면 메시지 계약을 반환해야 합니다. UpLoadFile(TransferFileMessage tMsg) 우리의 정의는 명백히 요구사항을 충족하지 않습니다.

그렇다면 어떻게 해결해야 할까요? 우리는 반환을 위한 또 다른 메시지 계약을 정의해야 합니다.


대략적으로 말하면, bool, string 등은 반환 값으로 사용할 수 없고, void와 no return value 타입을 설정할 수 있습니다.

하지만 만약 수익 가치가 있다면 어떨까 궁금합니다???? 해답은 다음과 같습니다:









이전의:WCF 오류: 413 요청 엔터티가 너무 큽니다
다음:WCF 구현 파일 업로드는 데모 다운로드를 위한 반환 값이 있습니다
면책 조항:
Code Farmer Network에서 발행하는 모든 소프트웨어, 프로그래밍 자료 또는 기사는 학습 및 연구 목적으로만 사용됩니다; 위 내용은 상업적 또는 불법적인 목적으로 사용되지 않으며, 그렇지 않으면 모든 책임이 사용자에게 부담됩니다. 이 사이트의 정보는 인터넷에서 가져온 것이며, 저작권 분쟁은 이 사이트와는 관련이 없습니다. 위 내용은 다운로드 후 24시간 이내에 컴퓨터에서 완전히 삭제해야 합니다. 프로그램이 마음에 드신다면, 진짜 소프트웨어를 지원하고, 등록을 구매하며, 더 나은 진짜 서비스를 받아주세요. 침해가 있을 경우 이메일로 연락해 주시기 바랍니다.

Mail To:help@itsvse.com