Привет!
Есть асп.нет сайт 4.0. Сайт доступен по http и https — сайт работает.
Также на сайте есть вызовы jquery к wcf, который хостится в этом же сайте.
Сейчас у меня работает либо по http либо по https — в зависимости от параметров в конфиге — собственно с этим проблема, чтобы доступна было сразу по 2 протоколам.
Вот такой конфиг (кусок из веб конфига) который работает под https
<system.serviceModel>
<bindings>
<webHttpBinding>
<binding name="webHttpsBinding">
<security mode="Transport">
<transport clientCredentialType="None"/>
</security>
</binding>
</webHttpBinding>
</bindings>
<behaviors>
<endpointBehaviors>
<behavior name="HMS.DataServices.PaymentsServiceBehavior">
<enableWebScript />
</behavior>
</endpointBehaviors>
<serviceBehaviors>
<behavior name="HMS.DataServices.PaymentsServiceBehavior">
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="false" />
</behavior>
</serviceBehaviors>
</behaviors>
<services>
<service name="HMS.DataServices.PaymentsService">
<!--HTTP-->
<endpoint address="" binding="webHttpBinding" contract="HMS.DataServices.IPaymentsService"
behaviorConfiguration="HMS.DataServices.PaymentsServiceBehavior" />
<!--HTTPS-->
<endpoint address="" binding="webHttpBinding" bindingConfiguration="webHttpsBinding"
contract="HMS.DataServices.IPaymentsService" behaviorConfiguration="HMS.DataServices.PaymentsServiceBehavior" />
</service>
</services>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" />
</system.serviceModel>
Обращу внимание, что в даном сценарии вызовы по http доходят до сервера и в виндовом логе я вижу сообщение
The exception message is: Could not find a base address that matches scheme https for the endpoint with binding WebHttpBinding. Registered base address schemes are [http].
Если закомментить endpoint <!--HTTPS--> то будет работать по http, а по htttps уже не будет. А сообщение будет в логе ошибок такое же только протокол поменяется
Есть у кого идеи что чинить?
Здравствуйте, RushDevion, Вы писали:
RD>Оно?
это я видел. я не понял, что именно в итоге надо указать в listenUri?
т.е. в итоге что надо оставить один endpoint, напр, для http, а для https указать listenUri с адресом по https к сервису?
сделал так, указав для endpoint по http адрес сервиса по https — yвы не пашет