我有一個WCF服務正在爲基本查詢工作。我從默認開箱即裝即用(默認值爲WSHttpBinding)開始。微調WCF綁定
數據契約是一組自定義對象,每個對象的大小約爲6k。當我發送多達5個(在單個交易中)時,它可以正常工作。當我嘗試發送6個或更多時,出現此錯誤:
「遠程服務器返回錯誤:(400)錯誤的請求。」
我研究了一些綁定,並試圖在客戶端上設置的配置是這樣的:
<binding name="WSHttpBinding_IASRService" closeTimeout="00:10:00"
openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:10:00"
bypassProxyOnLocal="false" transactionFlow="false"
hostNameComparisonMode="StrongWildcard"
maxBufferPoolSize="50000000" maxReceivedMessageSize="50000000"
messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true"
allowCookies="false">
<readerQuotas maxDepth="50000000" maxStringContentLength="50000000"
maxArrayLength="50000000" maxBytesPerRead="50000000"
maxNameTableCharCount="50000000" />
<reliableSession ordered="true" inactivityTimeout="00:10:00"
enabled="false" />
</binding>
我同樣設置在服務web.config文件中的配置,然而,問題仍然存在。
我也嘗試將客戶端app.config設置爲messageEncoding =「Mtom」,但是這產生了另一個綁定錯誤,說客戶端和服務器之間的綁定可能不匹配,所以我現在就把它解決了。 (儘管Mtom也是在服務器web.config中指定的。)另外,在我的研究中,我還沒有找到每個綁定屬性的簡單明瞭的描述。
總之,我試圖回答以下問題:
- 如何獲得更大的請求不產生壞請求錯誤
- 怎樣設置客戶端MTOM的,而不會產生錯誤
- 對每個綁定屬性是否有很好的基本參考以及如何使用它們?
這是否適用於只更改服務器端web.config文件? – alchemical 2009-06-12 19:28:02