Не удалось найти расширение привязки конфигурации "system.serviceModel/bindings/basicHttpsBinding"
Я получаю эту ошибку, когда пытаюсь перейти к моему файлу .svc. Похоже, что он не нашел мой basicHttpsBinding; вот этот раздел моего 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, но любые ответы, которые я мог найти, похоже, не применимы к тому, что я здесь делаю. Большинство из того, что я нашел, говорили о пользовательских привязках, о которых я не думаю, что у меня есть. Я, честно говоря, даже не уверен, что может вызвать эту ошибку, поэтому любая помощь будет очень признательна. Если вам нужна дополнительная информация, дайте мне знать, и я добавлю.
Ответы
Ответ 1
BasicHttpsBinding
- новое связывание в .NET 4.5, поэтому вы не можете использовать его в приложении 4.0. Либо вы удалите файл сопоставления, либо используете другое связывание, например basicHttpBinding
или wsHttpBinding
.
При настройке SSL в IIS это также должно работать.
Ответ 2
Если у вас есть аналогичный сценарий, как у меня, где созданный 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" />
без каких-либо последствий в моей ситуации.
Ответ 3
Удалите раздел protocolMapping
из web.config
, и он будет работать.