WCF - 如何在http,而不是https上使用wsHttpBinding

时间:2017-05-22 07:15:46

标签: asp.net wcf

我希望将WCF用于直接http,并使用 NOT http s 来为服务通信提供服务。两者都托管在IIS中,两者都在同一台机器上。

目标端点是一个(旧的)asp.net Web应用程序,我使用.svc文件来托管WFC ......

<%@ ServiceHost Service="MyApp.MyWcfServiceLibrary.MyService" %>

我可以使用浏览器,我可以验证.svc是否到达端点。

在“客户端”方面,我在web.config中有以下内容......

<wsHttpBinding>
    <binding name="WSHttpBinding_ISecurityService">
      <security mode="Message">            
      </security>
    </binding>
  </wsHttpBinding>

在我的所有测试系统上,一切都运行良好。我现在有另一个系统,无论我对配置做什么,我都会得到一条消息......

The provided URI scheme 'https' is invalid; expected 'http'. Parameter name: via at System.ServiceModel.Channels.TransportChannelFactory`1.ValidateScheme(Uri via) at System.ServiceModel.Channels.HttpChannelFactory`1.ValidateCreateChannelParameters(EndpointAddress remoteAddress, Uri via) at System.ServiceModel.Channels.HttpChannelFactory`1.OnCreateChannelCore(EndpointAddress remoteAddress, Uri via) at System.ServiceModel.Channels.HttpChannelFactory`1.OnCreateChannel(EndpointAddress remoteAddress, Uri via) at .....

如果我在系统上注销m_serviceClient.ChannelFactory.Endpoint.ListenUri的值,它始终只是 http ,但在问题系统上,它总是 https

https来自哪里,我没有IDEA。我已经尝试了一切来摆脱它。我已经尝试了wsHttpBinding中我可以找到的所有设置组合,但没有工作。我已经阅读了数以千计的其他帖子,但大多数人似乎想要采取其他方式(即http - > https),到目前为止还没有人帮助过。

有没有人知道为什么这会将ChannelFactory设置为使用https,而其他系统只是http。

提前感谢您提供任何帮助

0 个答案:

没有答案