<system.serviceModel> <services> <service name="Service.Service"> <host> <baseAddresses> <add baseAddress="net.tcp://127.0.0.1:9999/Service" /> </baseAddresses> </host> <endpoint binding="netTcpBinding" contract="IService.IService" /> <endpoint address="/mex" binding="mexTcpBinding" contract="IMetadataExchange" /> </service> </services> </system.serviceModel> </configuration>
wcf 服务端设置 只要加上上面红色那一句就会出现下面的错误,我想问一下红色那一句是做什么用的?
红色那句话表示为服务添加一个“元数据终结点”。
正如你的贴图所述,你应该检查你的服务器宿主代码或修改你的服务配置文件,为你的服务添加 ServiceMetadataBehavior 。
那为什么去掉就是对的? <endpoint binding="netTcpBinding" contract="IService.IService" /> 这句不也是表示为服务添加一个“元数据终结点”吗?。
@koi: 不是去掉就是对的,而是你添加此配置后,你还需要在服务宿主的代码中添加 ServiceMetadataBehavior 实例,你的异常描述上讲的很清楚,所以请你再仔细的读一下你贴图里的文字描述。
<endpoint binding="netTcpBinding" contract="IService.IService" />
这句表示添加一个服务终结点,不是元数据终结点。
客户端添加WCF引用需要它生成代理类
需要 <endpoint address="/mex" binding="mexTcpBinding" contract="IMetadataExchange" /> 这一句生成代理类。。 那么为什么一加上就出错?