web-dev-qa-db-ja.com

構成バインディング拡張 '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で検索してみましたが、私が見つけた答えは、ここで行っていることには当てはまりません。私が見つけたもののほとんどはカスタムバインディングについて話しましたが、その中には自分が持っているとは思えません。私は正直に言って、このエラーの原因が何であるかについてもはっきりしていません。さらに情報が必要な場合はお知らせください。追加します。

19
Darian Everett

BasicHttpsBindingは.NET 4.5の新しいバインディングであるため、4.0アプリケーションでは使用できません。 protocolMappingを削除するか、basicHttpBindingwsHttpBindingなどの別のバインディングを使用します。

IISでSSLを構成すると、これも機能するはずです。

19
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" />私の状況に影響はありません。

13
user919426

web.configからprotocolMappingセクションを削除すると、機能します。

1
Adem Sipahi