我们添加客户端服务引用的时候会出现这样的错误:
下载“http://localhost:8002/WCFService”时出错。
基础连接已经关闭: 接收时发生错误。
无法从传输连接中读取数据: 远程主机强迫关闭了一个现有的连接。。
远程主机强迫关闭了一个现有的连接。
Metadata contains a reference that cannot be resolved: 'http://localhost:8002/WCFService'.
Metadata contains a reference that cannot be resolved: 'http://localhost:8002/WCFService'.
If the service is defined in the current solution, try building the solution and adding the service reference again.
解决办法:
1.检查防火墙设置,服务端口是否已经设置为安全端口。
2.检查WCF服务地址是否正确。此处的地址一定是WCF服务托管宿主进程公布的侦听地址,宿主进程启动后,会在此端口侦听,是否有请求服务的的查询请求,当地址错误的时候此请求会宣告失败。因此要重新确认服务端口是否正确。此例子中为 http://localhost:8001/WCFService 不是 http://localhost:8002/WCFService 。所以才会出错。更改地址后就可以正确查询到服务信息。
3.配置终结点基于HTTP协议, <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />