it-roy-ru.com

Расширение привязки конфигурации 'system.serviceModel/bindings/basicHttpsBinding' не найдено

Я получаю эту ошибку, когда пытаюсь перейти к файлу .svc. Похоже, что он не находит моего базового HTTBBinding; вот этот раздел моего web.config:

<system.serviceModel>
<behaviors>
  <serviceBehaviors>
    <behavior>
      <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true"/>
      <serviceDebug includeExceptionDetailInFaults="true"/>
    </behavior>
  </serviceBehaviors>
</behaviors>
<protocolMapping>
  <add binding="basicHttpsBinding" scheme="https"/>
</protocolMapping>
<serviceHostingEnvironment aspNetCompatibilityEnabled="false" multipleSiteBindingsEnabled="true"/> 

Я пробовал искать в Google, но любые ответы, которые я мог найти, не относились к тому, что я здесь делаю. Большая часть того, что я нашел, говорила о пользовательских привязках, о которых я не думаю, что они есть. Я, честно говоря, даже близко не уверен, что может быть причиной этой ошибки, поэтому любая помощь будет принята с благодарностью. Если вам нужна дополнительная информация, дайте мне знать, и я добавлю ее.

16
Darian Everett

BasicHttpsBinding - это новая привязка в .NET 4.5, поэтому ее нельзя использовать в приложении 4.0. Либо вы удаляете protocolMapping, либо используете другую привязку, такую ​​как basicHttpBinding или wsHttpBinding.

Когда вы настраиваете SSL в IIS, это также должно работать.

17
slfan

Если у вас есть сценарий, похожий на мой, где сгенерированный Visual Studio Web.config имеет следующие настройки:

  <system.web>
    <compilation debug="true" targetFramework="4.5" />
    <pages controlRenderingCompatibilityVersion="4.0" />
  </system.web>

... добавить <httpRuntime targetFramework="4.5" />

Так что теперь у вас есть

  <system.web>
    <compilation debug="true" targetFramework="4.5" />
    <pages controlRenderingCompatibilityVersion="4.0" />
    <httpRuntime targetFramework="4.5" /> 
  </system.web>

Я также продолжил удалять <pages controlRenderingCompatibilityVersion="4.0" />, не оказывая влияния на мою ситуацию.

11
user919426

Удалите раздел protocolMapping из web.config, и он будет работать.

1
Adem Sipahi