WCF调用添加服务引用时找不到服务的解决办法
今天在工作中遇到这样一个问题,让我头疼了半天,最后头疼不能让人屈服,问题还是被我征服了.先展示一下错误,看看你们有木有遇到过:
造成这种结果的原因有这么几个:
1. 服务地址不正确;
2. 服务没有运行;
3.netTcpBinding和endpoint节点未设置,这是在存在app.config的情况下才有可能的;
一一排除吧,前两个都没有问题,然后就开始baidu,google"元数据包含无法解析的引用","读取XML数据时,超出最大名称表字符计数配额(16384)",这样查没有结果啊,网上的千篇一律,说改什么配置文件,问题是我现在都没有加上引用呢,何来的配置文件.后来才想到下边的那句话"MaxNameTableCharCount属性,可增加配额",那就开始找这句话.这句话还是很有用,找了一会终于有答案了.
这篇文章 里稍微有了思路,大胆改掉了VS 2010 的配置文件.
在配置文件的最下方加入了几行代码
< 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 >
最耀眼的那一行便是核心,这段代码要框在 < configuration > </ configuration > 内部,这样就OK 了,重启一下VS ,继续从前的操作,添加服务引用成功.
之后就可以Happy的进行下边的服务调用喽!
方法比较局限,或许有更好的办法,希望园友们不吝赐教.
标签: WCF 服务引用 读取XML maxNameTableCharCount
作者: Leo_wl
出处: http://www.cnblogs.com/Leo_wl/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
版权信息查看更多关于WCF调用添加服务引用时找不到服务的解决办法的详细内容...