2009-12-17 5 views
2

내가 WCF를 통해 일부 파일을 전송하려고 시도하지만, 즉시 메소드가 호출 될 때 클라이언트에서거야, 나는 다음과 같은 메시지가 얻을 :WCF 스트리밍 파일 전송

The socket connection was aborted. This could be caused by an error processing 
your message or a receive timeout being exceeded by the remote host, or an 
underlying network resource issue. Local socket timeout was '00:10:00'. 

내 방법이 try...catch에 싸여를 따라서 서버의 메서드 내에서 예외를 throw하는 것이 있으면 콘솔 창에 로그해야하지만 아무것도 기록되지 않습니다. 또한 서버를 로컬에서 실행하고 메서드에 중단 점을 설정하려고 시도했지만 메서드가 호출되지 않는 것 같습니다.

클라이언트 측에서 스트리밍을 허용하기 위해 net.tcp 연결에서 설정해야하는 속성이 있습니까?

답변

4

클라이언트 측에서 스트리밍 허용 필요 에 net.tcp 연결 설정 속성이나 뭔가가 있나요?

예 - 물론입니다! 당신은 스트리밍을 사용하도록 클라이언트 측 설정을 설정해야합니다 - 어느 한 방향 (StreamedRequest 서버에 물건을 업로드하려면, 또는 StreamedResponse에 서버에서 다운로드 할, 또는 그냥 일반 를 스트리밍하는 경우 두 가지 방법으로 스트리밍하는 경우).

<system.serviceModel> 
    <bindings> 
    <netTcpBinding> 
     <binding name="streaming" 
      transferMode="StreamedResponse"> 
     </binding> 
    </netTcpBinding> 
    </bindings> 
    <client> 
    <endpoint name="StreamEndpoint" 
       address="..." 
       binding="netTcpBinding" 
       bindingConfiguration="streaming" 
       contract="IYourService" /> 
    </client> 
</system.serviceModel> 

당신은 (당신이 원하는대로)의 이름 아래에 바인딩 구성을 정의하고 bindingConfiguration= 속성에 그 이름을 지정하여 <endpoint>에서 해당 구성을 참조 할 필요가있다.

자세한 내용은 MSDN 문서 페이지 How to: Enable Streaming을 참조하십시오.