1
我有一個WCF服務使用https進行通信,json用於響應格式。我不希望我的方法對任何人都可用,所以我將IIS中的身份驗證從基本的匿名&更改爲基本。通過https進行WCF驗證
到目前爲止,瀏覽器要求用戶並通過,但我得到了以下錯誤:
找不到與綁定的WebHttpBinding端點符合計劃http的基址。註冊的基地址方案是[https]。
我必須改變我的端點以使用身份驗證嗎?
我的web.config看起來像:
<?xml version="1.0"?>
<configuration>
<system.web>
<compilation debug="false" targetFramework="4.0" />
</system.web>
<system.serviceModel>
<bindings>
<webHttpBinding>
<binding name="restBinding">
<security mode="TransportCredentialOnly">
<transport clientCredentialType="Basic" proxyCredentialType="Basic" />
</security>
</binding>
</webHttpBinding>
</bindings>
<services>
<service name="ContactLibrarySecure.ContactLibraryService">
<endpoint address="mex" binding="mexHttpsBinding" bindingConfiguration=""
name="mex" contract="IMetadataExchange" />
<endpoint address="rest" behaviorConfiguration="restBehavior"
binding="webHttpBinding" bindingConfiguration="restBinding"
name="rest" contract="ContactLibrarySecure.IContact" />
<host>
<baseAddresses>
<add baseAddress="https://192.168.1.31/ContactLibrary2.0HTTPS" />
</baseAddresses>
</host>
</service>
</services>
<behaviors>
<endpointBehaviors>
<behavior name="restBehavior">
<webHttp />
</behavior>
</endpointBehaviors>
<serviceBehaviors>
<behavior name="">
<serviceMetadata httpsGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
</serviceBehaviors>
</behaviors>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
</system.serviceModel>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true"/>
</system.webServer>
</configuration>