1. ホーム
  2. .net

[解決済み] BasicHttpsBindingとWsHttpBinding with Transport securityの違いは何ですか?

2022-02-10 10:36:25

質問

BasicHttpsBindingは.net 4.5で新しく導入されたものなので、両者の違いに関する情報はあまりないようです。

どのように解決するのですか?

確かに、この2つのバインディングは非常によく似ています。 唯一の違いは、HTTPSを要求するためには、エンドポイントにBasicHttpBindingを設定する必要があり、その中でセキュリティモードをTransport(または他の有効な列挙型)として定義する必要があるということです。 エンドポイントに BasicHttpsBinding がある場合、セキュリティモードはデフォルトで Transport になり、クライアント認証のタイプは None に設定されます。

つまり、WCF4.5以前の構成は以下の通りです。

<system.serviceModel>
  <bindings>
    <basicHttpBinding>
      <binding name="Service.BasicHttp.BindingConfig">
        <security mode="Transport" />        
      </binding>
    </basicHttpBinding>
  </bindings>
  <services>
    <service name="ServiceImpl">
      <endpoint address="" binding="basicHttpBinding" bindingConfiguration="Service.BasicHttp.BindingConfig"
                name="IService.Http" contract="IService">
      </endpoint>
    </service>
  </services>
</system.serviceModel>

WCF4.5では、同じ構成を簡略化することができます。

<system.serviceModel>
  <services>
    <service name="ServiceImpl">
      <endpoint address="" binding="basicHttpsBinding" name="IService.Http" contract="IService">
  </endpoint>
</service>
  </services>
</system.serviceModel>

参照 WCF 4.5の新機能は?BasicHttpsBinding をご覧ください。