WCF Rest 服务的 SSL 实现

SSL implementation for WCF Rest Service

 <system.serviceModel>
 <!--WCF Service-->
 <services>
  <service name="Service.RestServices">
    <endpoint address=""
              binding="basicHttpBinding"
              bindingConfiguration="secureHttpBinding"
              contract="Service.IRestServices"/>

    <endpoint address="mex"
              binding="mexHttpsBinding"
              contract="Service.IRestServices" />
  </service>
 </services>
 <!--WCF Binding-->
 <bindings>
  <basicHttpBinding>
    <binding name="secureHttpBinding">
      <security mode="Transport">
        <transport clientCredentialType="None"/>
      </security>
    </binding>
  </basicHttpBinding>
 </bindings>
 <!--WCF Behaviors--> 
 <behaviors>
  <serviceBehaviors>
    <behavior>
      <!-- To avoid disclosing metadata information, set the value below to false and remove the metadata endpoint above before deployment -->
      <serviceMetadata httpsGetEnabled="true"/>
      <!-- To receive exception details in faults for debugging purposes, set the value below to true.  Set to false before deployment to avoid disclosing exception information -->
      <serviceDebug includeExceptionDetailInFaults="false"/>
    </behavior>
  </serviceBehaviors>
 </behaviors>    

我的 Web.config 文件中还有什么要考虑的吗?下面是我的服务界面。

Service Interface(IRestServices)

[OperationContract] [WebInvoke(ResponseFormat = WebMessageFormat.Json, RequestFormat = WebMessageFormat.Json, Method = "POST", UriTemplate = "Login", BodyStyle = WebMessageBodyStyle.Wrapped)]

当我尝试使用 HTTPS 进行调用时,我得到的响应是 404(未找到),而在使用 HTTP 时,我正在正确获取响应数据。

如何使用 HTTPS 调用其余 api 网络服务 (WCF)?

我们必须在 WebService.svc 文件中定义工厂以支持 WCF 休息服务中的 Https

<%@ ServiceHost Language="C#" Debug="true" Service="XcellenceIt.Plugin.Misc.NopRestApi.Service.RestServices" Factory="System.ServiceModel.Activation.WebServiceHostFactory" %>