9

私の WCF サービスでは、SSL 接続を介して JSON を使用してクライアントにデータを送信しようとしています。wsHttpBindingのセキュリティ モードを使用して、OData データベース ソースをクライアントに保護することができましたTransportwebHttpBindingSSL を使用するために同じことができないのはなぜですか? JSON を使用して SSL 接続も使用する必要があるエンドポイントを構成するにはどうすればよいですか?

webHttpBinding本質的にとの違いは何wsHttpBindingですか?

<bindings>
  <wsHttpBinding>
    <binding name="TransportSecurity">
      <security mode="Transport">
        <transport clientCredentialType="None" />
      </security>
    </binding>
  </wsHttpBinding>
</bindings>

<behaviors>
  <serviceBehaviors>
    <behavior name="ServiceBehavior">
      <serviceMetadata httpsGetEnabled="true" />
      <serviceDebug includeExceptionDetailInFaults="true" />
    </behavior>
  </serviceBehaviors>

  <endpointBehaviors>
    <behavior name="EndpBehavior">
      <webHttp />
    </behavior>
  </endpointBehaviors>
</behaviors>

<services>
  <service behaviorConfiguration="ServiceBehavior" name="DataService4.DataService">

    <endpoint address="" binding="webHttpBinding" contract="DataService4.IService" bindingConfiguration="TransportSecurity" behaviorConfiguration="EndpBehavior" />

    <endpoint contract="IMetadataExchange" binding="mexHttpsBinding" address="mex" />   
  </service>
</services>

<serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" />

4

2 に答える 2

12

この記事があなたの問題を解決すると思います。 WCF RESTful サービスを作成し、HTTPS over SSL を使用して保護する

于 2013-09-30T17:07:41.080 に答える
12

http://www.allenconway.net/2012/05/creating-wcf-restful-service-and-secure.htmlの関連部分は次のとおりです。

<bindings>
  <webHttpBinding>
    <binding>
      <security mode="Transport" />
    </binding>
  </webHttpBinding>
</bindings> 

必要に応じて公開メタデータも削除します。

詳細は msdn に記載されています: https://msdn.microsoft.com/en-us/library/bb924478(v=vs.110).aspx

関連する部分は次のとおりです。

トランスポート セキュリティは、HTTPS を使用して提供されます。このサービスは、SSL 証明書を使用して構成する必要があります。メッセージは HTTPS を使用して完全に保護され、サービスはサービスの SSL 証明書を使用してクライアントによって認証されます。クライアント認証は、 webHttpBinding のトランスポートのClientCredentialType 属性によって制御されます。

于 2016-05-03T20:05:08.860 に答える