解決VS更新/增加服務引用出現“XML 文檔中有錯誤。 讀取 XML 數據時,超出最大名稱表字符計數配額 (16384)”

當服務方法很多時,在VS2008中增加服務引用時出現如下錯誤:

---------------------------
Microsoft Visual Studio
---------------------------
元數據包含無法解析的引用:“net.tcp://....”。 XML 文檔中有錯誤。 讀取 XML 數據時,超出最大名稱表字符計數配額 (16384)。名稱表是用於存儲在處理 XML 時所遇到的字符串的數據結構 - 具有非重複元素、屬性名稱和屬性值的長 XML 文檔可能會觸發此配額。通過更改在創建 XML 讀取器時所使用的 XmlDictionaryReaderQuotas 對象的 MaxNameTableCharCount 屬性,可增加此配額。

解決:

找到文件devenv.exe.config,在vs啓動程序devenv.exe的目錄下,在裏面增加如下部分,把maxNameTableCharCount限制加大:

 <system.serviceModel>
    <client>
      <endpoint name="net.tcp" binding="netTcpBinding" bindingConfiguration="bc" contract="IMetadataExchange" />
    </client>
    <bindings>
      <netTcpBinding>
        <binding name="bc" maxReceivedMessageSize="2147483647">
          <readerQuotas maxNameTableCharCount="2147483647" />
          <security mode="None"/>
        </binding>
      </netTcpBinding>
    </bindings>
  </system.serviceModel>

就可以了,如圖:

 

參考資料:http://social.msdn.microsoft.com/forums/en-US/wcf/thread/17592561-c470-452a-a52c-2a5a2839582c/

http://social.msdn.microsoft.com/forums/en-US/wcf/thread/584cf9d6-6fe5-46c8-a12d-f54c7a4eb9ba/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章