2010-07-01 2 views
0

저는 클라이언트에서이 서비스를 호출 할 때 isoneway 속성을 true로 설정 한 wcf 메서드를 사용하고 있습니다. 서비스가 잘못된 비즈니스 예외를 던지고 잘못된 비즈니스 예외가 발생했습니다. . 내 이해는 그것은 단지 endpointnotfound 예외 및 timeoutexception.Can 누군가 던지 왜 그런 일이 일어 났는지 설명 할 수있다 던가요?WCF는 편도 속성입니다.

답변

2

계약서를 단방향으로 표시한다는 것은 정확히 말하면 메시지는 한 방향으로 만 전달됩니다. 클라이언트는 응답을 얻지 못하거나 서비스가 전혀 실행되기를 기다리지 않으므로 대부분의 시간에 클라이언트가 응답 또는 오류를받을 수있는 방법이 없습니다.

당신은 어쩌면 한방향 서비스가 당신을 위해하지 않고 당신이 정말로 원하는 것은 편도 방법은을 반환합니까 빈 응답과 양방향 서비스 (즉 무효)

1

하다는 것을 원하는 경우 값이 있거나 ref/out 매개 변수가 있습니까? 그렇다면 InvalidOperationException이 발생합니다. 이는 OperationContractAttribute.IsOneWay 속성 (http://msdn.microsoft.com/en-us/library/system.servicemodel.operationcontractattribute.isoneway(v=vs.110).aspx)에 대한 MSDN 도움말의 예상 동작입니다.

, 그것은 텍스트 다음 한 발언 섹션

봐 :

방법은 값을 반환하거나 심판 또는 out 매개 변수가 없어야합니다 편도; 그렇지 않으면 System.InvalidOperationException 예외가 발생합니다.

추신 : 나는 스레드에 회신하기에는 너무 늦다는 것을 알고 있지만, 3 년 정도 지나면 게시물을 가로 지르는 사람처럼 유용 할 수 있습니다.