我有一個使用wsHttpBinding的WCF服務。服務器配置如下:WCF - 讀取XML數據時已超出最大可命名字符計數配額(16384)
<bindings>
<wsHttpBinding>
<binding name="wsHttpBinding" maxBufferPoolSize="2147483647"
maxReceivedMessageSize="2147483647">
<readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647"
maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
<security mode="None">
<transport clientCredentialType="Windows" proxyCredentialType="None"
realm="" />
<message clientCredentialType="Windows" negotiateServiceCredential="true"
algorithmSuite="Default" establishSecurityContext="true" />
</security>
</binding>
</wsHttpBinding>
</bindings>
在客戶端,我包括WCF的服務的服務參考。如果我在我的IService中有90個操作契約,但是如果再添加一個OperationContract比我無法更新服務引用,並且我能夠添加該服務引用,那麼它會很好用。在this文章中提到,通過更改這些配置文件(即devenv.exe.config,WcfTestClient.exe.config和SvcUtil.exe.config)它可以工作,但即使在那些配置文件中包含那些綁定,仍然會彈出錯誤消息
下載「http://10.0.3.112/MyService/Service1.svc/mex」時出錯。 請求失敗,HTTP狀態400:錯誤的請求。 元數據包含無法解析的引用:'http://10.0.3.112/MyService/Service1.svc/mex'。 XML文檔中存在錯誤(1,89549)。 讀取XML數據時,超過了最大的可命名字符計數配額(16384)。名稱表是用於存儲XML處理期間遇到的字符串的數據結構 - 具有非重複元素名稱,屬性名稱和屬性值的長XML文檔可能會觸發此配額。可以通過更改創建XML閱讀器時使用的XmlDictionaryReaderQuotas對象上的MaxNameTableCharCount屬性來增加此配額。第1行,位置89549. 如果服務在當前解決方案中定義,請嘗試構建解決方案並再次添加服務參考。
任何想法如何解決這個?
感謝您的答覆將嘗試並讓您知道結果。 – Jankhana 2010-05-05 04:56:44
它工作了,謝謝。在它工作之後,我必須在客戶端中更改服務端點設置。謝謝!!!! – Jankhana 2010-05-05 05:51:53
這也適用於我,但沒有必要添加一個新的綁定,我剛剛更新'readerQuotas'與上述。 – endyourif 2012-10-11 20:39:43