3

最近、HTTP と HTTPS の両方について、私の開発 IIS サーバーで正しく動作している WCF サービスに HTTPS を追加しました。ただし、Visual Studio (localhost) を使用して実行しようとすると、サービスにアクセスしようとすると次のエラーが発生します。

Exception: System.InvalidOperationException
Description: Could not find a base address that matches scheme https for the endpoint    with binding WebHttpBinding. Registered base address schemes are [http]. 
Timestamp: 5/15/2013 4:23:04 PM
Client IP Address/DNS Name: ::1 - ::1

at System.ServiceModel.ServiceHostBase.MakeAbsoluteUri(Uri relativeOrAbsoluteUri,    Binding binding, UriSchemeKeyedCollection baseAddresses)
at System.ServiceModel.Description.ConfigLoader.LoadServiceDescription(ServiceHostBase host, ServiceDescription description, ServiceElement serviceElement, Action`1 addBaseAddress, Boolean skipHost)

これが私のweb.configです:

<system.serviceModel>
  <bindings>
    <webHttpBinding>
      <binding name="sslBinding">
        <security mode="Transport">
          <transport clientCredentialType="None" proxyCredentialType="None" />
        </security>
      </binding>
    </webHttpBinding>
  </bindings>
  <services>
    <service behaviorConfiguration="ServiceBehavior" name="HistoryService">
      <endpoint behaviorConfiguration="webHttp" binding="webHttpBinding" contract="IHistoryService" />
      <endpoint binding="webHttpBinding" contract="IHistoryService" behaviorConfiguration="webHttp" bindingConfiguration="sslBinding" />
      <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
    </service>
  </services>
  <behaviors>
    <endpointBehaviors>
      <behavior name="webHttp">
        <webHttp />
      </behavior>
    </endpointBehaviors>
    <serviceBehaviors>
      <behavior name="ServiceBehavior">
        <serviceMetadata httpGetEnabled="true" />
        <serviceDebug includeExceptionDetailInFaults="false" />
      </behavior>
    </serviceBehaviors>
  </behaviors>
  <serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" />
</system.serviceModel>

Visual Studio の開発サーバーを使って開発を続けられたら、とてもうれしいです。HTTPS を使用するために、Visual Studio 開発サーバーで有効にする必要があるものはありますか? または、web.config を変更してうまく動作させることができるものはありますか?

4

1 に答える 1

8

Visual Studio の組み込み Web サーバーは SSL をサポートしていません。IIS Express の使用に関する優れたチュートリアルを次に示します。IIS Express を使用したサイトのセットアップを簡単にする Microsoft WebMatrix を使用しています。

http://www.hanselman.com/blog/WorkingWithSSLAtDevelopmentTimeIsEasierWithIISExpress.aspx

于 2013-05-16T02:43:55.633 に答える