在服务 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

 

posted @ 2015-07-29 13:44  ChuckLu  阅读(2796)  评论(1编辑  收藏  举报