簡體   English   中英

WCF將大圖像上傳為wsHttpBinding

[英]WCF upload large images as wsHttpBinding

我已經創建了一個WCF服務來上傳圖像。 圖像<50KB左右可以正常工作,但我得到“遠程服務器返回錯誤:(400)錯誤請求。” 圖像較大。 我一直在尋找年齡並嘗試了很多不同的東西,包括設置maxRequestLength和其他幾個設置。

在客戶端的事情上,web.config將其作為basicHttpBinding進行選擇,並且我正在使用wsHttpBinding(用於更新的功能集)。 如果我手動將綁定類型更改為wsHttpBinding並更改相應的選項,則會出現“不支持的媒體類型”錯誤。 在WCF測試客戶端中查看它也將服務顯示為basicHttpBinding。

所以我的問題確實是雙重的。

  1. 我需要做什么才能讓我的服務處理> 50KB的文件?
  2. 我需要更改什么才能將我的服務識別為wsHttp而不是basicHttp?

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

編輯:一如既往,我已經設法通過擺弄服務web.config並手動將端點更改為wsHttpBinding來解決wsHttpBinding問題。 仍然得到大型上傳文件大小問題。

您需要在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>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM