4

サーバーに次のコードがあります

<services>
  <service name="ME.Streets.WebGateway.DuplexService.DuplexService"
     behaviorConfiguration="sb">
    ....
    <endpoint
        address=""
        binding="webHttpBinding"
        behaviorConfiguration="webHttpEndpointBehavior"
        contract="ME.Streets.WebGateway.DuplexService.Interface.IPolicyRetriever"/>
     ....
    <host>
    <baseAddresses>
      <add baseAddress="https://localhost:10201" />
    </baseAddresses>
    </host>
  </service>

SilverlightアプリケーションをSSLとWCFを使用してHTTPSに切り替えていますが、サーバーを実行すると、次のエラーが発生します

- System.InvalidOperationException: Could not find a base address that matches
 scheme http for the endpoint with binding WebHttpBinding. Registered base address     
 schemes are [https].

このエラーがどこから来ているのかよくわかりません。<baseaddress>ノード内にhttpsノードをインストールする必要があり<service>ますか?

4

1 に答える 1

4

修理済み!

エンドポイントを次のように変更しました (bindingConfiguration="webHttpsBinding" を追加):

<services> .....
        <endpoint
            address=""
            binding="webHttpBinding"
            behaviorConfiguration="webHttpEndpointBehavior"
            bindingConfiguration="webHttpsBinding"
            contract="ME.Streets.WebGateway.DuplexService.Interface.IPolicyRetriever">
        </endpoint>
......
</services>

新しいバインディング構成は次のとおりです。

<bindings>....
    <webHttpBinding>
    <binding name="webHttpsBinding">
        <security mode="Transport">
            <transport clientCredentialType="None" />
        </security>
    </binding>
</webHttpBinding>
......
</bindings>

これにより、エンドポイントに、情報を転送するものと接続ユーザーが持つ必要がある資格情報の種類を指定する http バインディングへのバインディングが与えられます。

于 2012-11-15T23:04:34.427 に答える