Служба WCF не будет работать по протоколу HTTPS / SSL - PullRequest
0 голосов
/ 23 февраля 2012

У меня есть служба WCF, которую я использую в своем проекте Silverlight.Я следил почти за любой информацией о том, как настроить https и ssl для служб WCF.Служба может быть вызвана безупречно, если SSL не требуется, но при проверке связи с fiddler я заметил, что служба WCF все еще работает по протоколу http.Более того, если я включаю SSL, служба WCF не может быть просмотрена в браузере (щелчок правой кнопкой мыши в VS2010 -> выбор обзора).

Я подозреваю, что служба все еще вызывается по какому-либо внутреннему методу с протоколом http.

Есть предложения, как это исправить?

<?xml version="1.0" encoding="utf-8"?>

<configuration>

  <system.web>
    <compilation debug="true" targetFramework="4.0">
      <assemblies>
        <add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
      </assemblies>
    </compilation>
  </system.web>

  <system.serviceModel>

    <serviceHostingEnvironment aspNetCompatibilityEnabled="true"
      multipleSiteBindingsEnabled="true" />

      <behaviors>
        <serviceBehaviors>
          <behavior name="">
            <serviceMetadata httpsGetEnabled="true"/>
            <serviceDebug includeExceptionDetailInFaults="true"/>
          </behavior>
        </serviceBehaviors>
      </behaviors>

      <bindings>

        <customBinding>
          <binding name="AuthService.customBinding" >
            <binaryMessageEncoding />
            <httpsTransport />
          </binding>
        </customBinding>
      </bindings>
      <services>
          <service name="AuthService">
              <endpoint address="" binding="customBinding" bindingConfiguration="AuthService.customBinding" contract="AuthService" />
              <endpoint address="mex" binding="mexHttpsBinding" contract="IMetadataExchange" />
          </service>

      </services>

  </system.serviceModel>

</configuration>

Спасибо

1 Ответ

0 голосов
/ 23 февраля 2012

Любая конкретная причина, по которой вы используете пользовательскую привязку. Кроме того, ваш атрибут имени службы и атрибут контракта должны быть полностью уточнены.

Вы можете использовать простой basicHttpBinding, если хотите, чтобы ваша служба WCF была совместима с базовым профилем 1.1, который также позволяет клиентам, не являющимся клиентами .NET, получать доступ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...