當服務方法很多時,在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/