我有一個WCF Web服務接受一些自定義對象和一些文件作爲字節數組發送。WCF WS引發MaxReceivedMessageSizeExceeded
但是,每次我發送一個文檔(不是特別大的一個)時,WS返回一個400錯誤的請求,並且在跟蹤日誌中它似乎拋出了一個MaxReceivedMessageSizeExceeded
。 句話
System.ServiceModel.ProtocolException: 的最大消息大小配額 傳入消息(65536)一直 超出。要增加配額,請使用 MaxReceivedMessageSize屬性 上適當的綁定元素。
現在的客戶端應用程序有這個在其app.config
<wsHttpBinding>
<binding name="WSHttpBinding_IReferrals"
closeTimeout="00:01:00" openTimeout="00:01:00"
receiveTimeout="00:10:00" sendTimeout="00:01:00"
bypassProxyOnLocal="false" transactionFlow="false"
hostNameComparisonMode="StrongWildcard"
maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647"
messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true"
allowCookies="false">
<readerQuotas maxDepth="32"
maxStringContentLength="8192" maxArrayLength="16384"
maxBytesPerRead="4096" maxNameTableCharCount="16384" />
,並在WCF web.config
我有這個
<service behaviorConfiguration="WCFReferrals.Service1Behavior"
name="WCFReferrals.Referrals">
<endpoint address="" binding="wsHttpBinding" contract="WCFReferrals.IReferrals">
<identity>
<dns value="localhost" />
</identity>
</endpoint>
<endpoint address="mex" binding="wsHttpBinding" contract="IMetadataExchange" />
</service>
....
<binding name="wsHttpBinding" maxBufferPoolSize="2147483647"
maxReceivedMessageSize="2147483647">
<readerQuotas maxDepth="32" maxStringContentLength="2147483647"
maxArrayLength="2147483647" maxBytesPerRead="4096"
maxNameTableCharCount="16384" />
</binding>
顯然我失去了一些東西的,據我可以看到我有所有的最大消息限制設置waaaaay什麼是必要的..
任何幫助窩ULD愉快地接受
感謝
NAT
這是完全新的,這工作的一種享受。我想我在想,綁定屬性指向你想要的綁定。不是綁定配置。非常感謝。 – nat 2011-03-17 10:01:42
@nat:對於單個綁定,您可以有任意數量的綁定配置 - 這就是爲什麼您需要通過名稱引用端點所需的配置 – 2011-03-17 10:06:09