WCF. Один сервис для http и https
От: Аноним  
Дата: 10.02.11 05:44
Оценка:
Привет!

Есть асп.нет сайт 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 уже не будет. А сообщение будет в логе ошибок такое же только протокол поменяется

Есть у кого идеи что чинить?
Re: WCF. Один сервис для http и https
От: RushDevion Россия  
Дата: 10.02.11 05:52
Оценка:
Оно?
Re[2]: WCF. Один сервис для http и https
От: Аноним  
Дата: 10.02.11 06:27
Оценка:
Здравствуйте, RushDevion, Вы писали:

RD>Оно?


это я видел. я не понял, что именно в итоге надо указать в listenUri?
т.е. в итоге что надо оставить один endpoint, напр, для http, а для https указать listenUri с адресом по https к сервису?
сделал так, указав для endpoint по http адрес сервиса по https — yвы не пашет
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.