WebHttpBinding с Http и Https

Я пытаюсь использовать https & http для веб-сайта. На сайте есть файлы .svc, которые действуют как REST-сервис и вызываются из JavaScript.

Мой Конфиг:

<system.serviceModel>
    <behaviors>
      <endpointBehaviors>
        <behavior name="AjaxBehavior">
          <webHttp />
        </behavior>
      </endpointBehaviors>
      <serviceBehaviors>
        <behavior name="MyServiceBehaviour">
          <serviceDebug includeExceptionDetailInFaults="true" />
          <serviceMetadata httpGetEnabled="True" httpsGetEnabled="true"/>         
        </behavior>
      </serviceBehaviors>
    </behaviors>
    <serviceHostingEnvironment aspNetCompatibilityEnabled="true" />
    <services>
      <service behaviorConfiguration="MyServiceBehaviour" name="MyService.Lookups">
        <endpoint address="" behaviorConfiguration="AjaxBehavior"
          binding="webHttpBinding" bindingConfiguration="httpWebBinding" contract="MyService.Lookups" >         
        </endpoint>
        <endpoint address="" behaviorConfiguration="AjaxBehavior"
          binding="webHttpBinding" bindingConfiguration="httpsWebBinding" contract="MyService.Lookups" >          
        </endpoint>
        <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
      </service>
    </services>
    <bindings>      
      <webHttpBinding>
        <binding name="httpsWebBinding">
          <security mode="Transport">
            <transport clientCredentialType="None" proxyCredentialType="None" />
          </security>
        </binding>
        <binding name="httpWebBinding">
          <security mode="None">
            <transport clientCredentialType="None" proxyCredentialType="None" />
          </security>
        </binding>
      </webHttpBinding>
    </bindings>   
  </system.serviceModel>

просмотрhttps: //myserver/services/Lookups.svc/Hello дает

Не удалось найти базовый адрес, который соответствует схеме http для конечной точки с привязкой WebHttpBinding. Схемы зарегистрированных базовых адресов: [https]

просмотрHttp: //myserver/services/Lookups.svc/Hello дает

Не удалось найти базовый адрес, который соответствует схеме https для конечной точки с привязкой WebHttpBinding. Зарегистрированные схемы базовых адресов: [http]

Если я удаляю одну конечную точку, это работает. Пример удаления конечной точки, настроенной сbindingConfiguration="httpWebBinding" работает для HTTPS,

Как я могу заставить его работать с HTTP и HTTPS? На данный момент я могу использовать http или https, удалив одну конечную точку.

ПриглашениеКак объединить конфигурацию служб WCF для http и https в одном файле web.config? а такжеКак настроить службы HTTP и HTTPS WCF 4 RESTful?

ЗаметкаВ IIS это два веб-сайта, один из которых прослушивает http, а другой - https. Оба совместно используют один и тот же код в физической папке

ОБНОВИТЬ: На данный момент я удалил конечные точки, и это работает. Но мое беспокойство заключается в том, что удаление конечных точек, настроенных с поведением, не выглядит для меня отличным решением.

Это работает как для http и https

  <services>
      <service behaviorConfiguration="MyServiceBehaviour" name="MyService.Lookups">

      </service>
    </services>

Ответы на вопрос(0)

Ваш ответ на вопрос