0

クライアント証明書を必要とする REST サービスがあります。次のsystem.serviceModelように見えます。

  <system.serviceModel>
    <serviceHostingEnvironment aspNetCompatibilityEnabled="true"/>
    <standardEndpoints>
      <webHttpEndpoint>
        <!-- 
            Configure the WCF REST service base address via the global.asax.cs file and the default endpoint 
            via the attributes on the <standardEndpoint> element below
        -->
        <standardEndpoint name="TestService" helpEnabled="true" automaticFormatSelectionEnabled="true"/>
      </webHttpEndpoint>
    </standardEndpoints>
  </system.serviceModel>

standardEndpoint を次のように変更してみました。

<standardEndpoint name="TestService" helpEnabled="true" automaticFormatSelectionEnabled="true">
  <security mode="Transport">
    <transport clientCredentialType="Certificate" />
  </security>
</standardEndpoint>

しかし、それは役に立ちませんでした。クライアント証明書を有効にするために何が欠けていますか?

4

2 に答える 2

2

標準バインディングはその構文をサポートしていません。バインディングの下の webHttpBinding で定義し、名前を付けないでください。そうすれば、すべての webHttoBinding に適用されます。

<system.serviceModel>
        <bindings>
            <webHttpBinding>
                <binding>
                    <security mode="Transport">
                        <transport clientCredentialType="Certificate" />
                    </security>
                </binding>
            </webHttpBinding>
        </bindings>
        <standardEndpoints>
            <webHttpEndpoint>
                <standardEndpoint name="TestService" helpEnabled="true" automaticFormatSelectionEnabled="true"/>
            </webHttpEndpoint>
        </standardEndpoints>
    </system.serviceModel>
于 2012-05-08T02:33:54.910 に答える
0

構成に DNS タブがありますか? 何かのようなもの

<dns value="localhost" /> 

これが役立つことを願っています

于 2012-04-10T15:45:18.973 に答える