在服务 ObtainData 实现的协定列表中找不到协定名称 "IMetadataExchange"。将 ServiceMetadataBehavior 添加到配置文件或直接添加到 ServiceHost,以启用对该协定的支持。

第一种解决方法:最暴力的

配置去掉<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>

 

第二种解决方法:

其实已经有了serviceBehavior,但是忘记绑定到Service上了

<service behaviorConfiguration="serviceBehavior" name="ZBMService.ObtainData">
<endpoint address="ObtainData" binding="wsHttpBinding" bindingConfiguration="Binding1"
contract="ZBMServiceContract.IObtainData" />
<endpoint address="mex" binding="wsHttpBinding" bindingConfiguration=""
contract="IMetadataExchange" />
</service>

给Service的BehaviorConfiguration指定之前创建的ServiceBehavior

 

文章来自:http://www.cnblogs.com/chucklu/p/4685728.html
© 2021 jiaocheng.bubufx.com  联系我们
ICP备案:鲁ICP备09046678号-3