2011-08-02 3 views
0

이미지를 업로드하기 위해 WCF 서비스를 만들었습니다. 그것은 < 50KB 정도의 이미지로 잘 동작하지만 "원격 서버가 오류를 반환했습니다 : (400) Bad Request." 큰 이미지가 있습니다. 나는 연령대를 찾고 있었고 maxRequestLength 및 기타 여러 설정을 포함하여 여러 가지를 시도했습니다.WCF로 큰 이미지 업로드 wsHttpBinding

클라이언트 측에서 web.config는 basicHttpBinding으로 선택하고 wsHttpBinding (이후의 최신 기능 세트)을 따릅니다. 수동으로 바인딩 유형을 wsHttpBinding으로 변경하고 해당 옵션을 변경하면 Unsupported Media Type 오류가 발생합니다. WCF 테스트 클라이언트를 보면 기본 HttpBinding으로 서비스가 표시됩니다.

제 질문은 정말 두 가지입니다.

  1. 서비스가 파일> 50KB를 처리하도록하려면 어떻게해야합니까?
  2. 서비스가 basicHttp 대신 wsHttp로 인식되도록 변경하려면 어떻게해야합니까?

사과 이러한 응답 질문이있는 경우 - I에 유래를 흐르고 몇 가지 제안을 시도했지만 내가 그것을보고 싶었어요 수있다!

편집 : 항상 그렇듯이 wsHttpBinding 문제를 해결하려면 web.config 서비스를 사용하고 wsHttpBinding으로 수동으로 끝점을 변경해야합니다. 그래도 큰 업로드 파일 크기 문제가 발생합니다.

답변

2

귀하의 바인딩을 업데이트해야합니다.

예 : 이것은 내가 내 wcf 편안한 서비스를 한 것입니다. 나는 당신의 경우도 매우 비슷할 것이라고 믿는다.

<bindings> 
      <webHttpBinding> 
       <!-- buffer: 64KB; max size: 64MB --> 
       <binding name="StreamedBinding" closeTimeout="00:01:00" openTimeout="00:01:00" 
         receiveTimeout="00:10:00" sendTimeout="00:01:00" transferMode="Streamed" 
         maxBufferPoolSize="67108864" maxBufferSize="65536" maxReceivedMessageSize="67108864"> 
       </binding> 
      </webHttpBinding> 
</bindings> 

<service name="WCFRestFul.ApiRestful"> 
     <endpoint address="" binding="webHttpBinding" 
        bindingConfiguration="StreamedBinding" bindingName="StreamedBinding" 
        contract="WCFRestFul.IApiRestful" behaviorConfiguration="web" /> 
</service> 
+0

마침내 그것을 마친다! – m4rc