动态调用WCF 415错误

按照网上的例子,创建ServiceUitl类,结合配置文件,动态创建WCF Client。但在调试时,每当运行到Reference.EndGet***()方法时,弹出异常“Not Found”。但该WCF服务以引用的方式是可以用的。也添加了跨域文件。使用HttpWatch跟踪,发现每当请求*.svc时,总是返回415错误


查了很久才得到提示,原来是服务端发布的WCF服务的binding是cutomBinding(系统默认创建),而动态创建WCF Client的类的Binding是basicHttpBinding,二者不一致从而导致调用失败。

最终,通过修改服务器端的WCF配置文件,将Binding方式由customBinding改为basicHttpBinding,并删去多余的参数解决该问题

 <services>
      <service name="MonitorClient.Web.WcfService">
        <endpoint address="" binding="basicHttpBinding" bindingConfiguration=""
          contract="MonitorClient.Web.WcfService" />
      </service>
 </services>
 

 


原文地址:https://www.cnblogs.com/76674718/p/2257474.html