Dot-Net
WCF - 如何增加消息大小配額
我有一個 WCF 服務,它從數據庫向客戶端返回 1000 條記錄。我有一個 ASP.NET WCF 客戶端(我在 asp.net Web 應用程序項目中添加了服務引用以使用 WCF)。
執行客戶端應用程序時收到以下消息:
已超出傳入郵件 (65536) 的最大郵件大小配額。要增加配額,請在適當的綁定元素上使用 MaxReceivedMessageSize 屬性。
有什麼幫助嗎?如何增加郵件大小配額?
在App.config或Web.config文件中,您需要這樣的東西來增加消息大小配額:
<bindings> <basicHttpBinding> <binding name="basicHttp" allowCookies="true" maxReceivedMessageSize="20000000" maxBufferSize="20000000" maxBufferPoolSize="20000000"> <readerQuotas maxDepth="32" maxArrayLength="200000000" maxStringContentLength="200000000"/> </binding> </basicHttpBinding> </bindings>並在您的端點配置中使用綁定名稱,例如
... bindingConfiguration="basicHttp" ...這些值的理由很簡單,它們足夠大以容納大多數消息。您可以調整該數字以滿足您的需求。低預設值基本上是為了防止 DOS 類型的攻擊。將其設置為 20000000 將允許分佈式 DOS 攻擊有效,預設大小 64k 將需要大量客戶端來壓倒大多數伺服器。