2011-08-02 142 views
0

我創建了一個WCF服務來上傳圖像。它工作正常與圖像< 50KB左右,但我得到「遠程服務器返回錯誤:(400)錯誤的請求。」與更大的圖像。 我一直在尋找年齡,並嘗試了很多不同的事情,包括設置maxRequestLength和其他幾個設置。WCF上傳大圖像爲wsHttpBinding

在事物的客戶端上,web.config將它作爲basicHttpBinding拾取,並且在wsHttpBinding之後(用於更新的功能集)。如果我手動將綁定類型更改爲wsHttpBinding並更改相應選項,則會出現「不受支持的介質類型」錯誤。 尋找WCF測試客戶端它也顯示該服務爲basicHttpBinding。

所以我的問題真的是雙重的。

  1. 我需要做些什麼來讓我的服務處理大於50KB的文件?
  2. 我需要更改哪些服務才能識別爲wsHttp而不是basicHttp?

道歉,如果有一個問題回答這些 - 我刷了stackoverflow並嘗試了一些建議,但它可能我錯過了它!

編輯:作爲總是這樣,我設法解決wsHttpBinding問題現在通過擺弄服務web.config和手動更改端點wsHttpBinding。儘管如此,仍然遇到大量上傳文件大小問題。

回答

2

您需要更新您的綁定web.config

例如,這是我在我的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