.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で検索してみましたが、私が見つけた答えは、ここで行っていることには当てはまりません。私が見つけたもののほとんどはカスタムバインディングについて話しましたが、その中には自分が持っているとは思えません。私は正直に言って、このエラーの原因が何であるかについてもはっきりしていません。さらに情報が必要な場合はお知らせください。追加します。
BasicHttpsBinding
は.NET 4.5の新しいバインディングであるため、4.0アプリケーションでは使用できません。 protocolMappingを削除するか、basicHttpBinding
やwsHttpBinding
などの別のバインディングを使用します。
IISでSSLを構成すると、これも機能するはずです。
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" />
私の状況に影響はありません。
web.config
からprotocolMapping
セクションを削除すると、機能します。