解决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/

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