WebService 之 已超過傳入消息(65536)的最大消息大小配額。若要增加配額,請使用相應綁定元素上的 MaxReceivedMessageSize 屬性。


  在使用 WCF 中,遇到如下問題: 

  已超過傳入消息(65536)的最大消息大小配額。若要增加配額,請使用相應綁定元素上的 MaxReceivedMessageSize 屬性。

  問題說明:

  客戶端調用 WCF 返回數據量大時,局域網沒有問題(客戶現場發現一台機器有問題,具體原因不詳。),發布到外網有問題。

  VS2012 Debug 捕獲到的異常信息為:在 HTTP 通道上傳輸數據時發生錯誤(無法從傳輸連接中讀取數據: 連接已關閉)。

  WCFStorm 工具返回的異常為:已超過傳入消息(65536)的最大消息大小配額。若要增加配額,請使用相應綁定元素上的 MaxReceivedMessageSize 屬性。

  解決方案:

  客戶端都加入:maxReceivedMessageSize="2147483647",如下設置:

  <bindings>
      <basicHttpBinding>
        <!-- 設置 客戶端 提交數據,返回 “遠程服務器返回了意外相應:(413) Request Entity Too Large。” -->
        <binding name="LargeDataTransferServicesBinding" sendTimeout="00:10:00"
          maxReceivedMessageSize="2147483647" transferMode="Streamed" messageEncoding="Text" />
      </basicHttpBinding>
    </bindings>

   服務器端添加如下代碼解決問題:

<behavior>
    <!-- 解決問題:已超過傳入消息(65536)的最大消息大小配額。若要增加配額,請使用相應綁定元素上的 MaxReceivedMessageSize 屬性。 -->
    <dataContractSerializer maxItemsInObjectGraph="2147483647" />
</behavior>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM