web-dev-qa-db-fra.com

L'extension de liaison de configuration 'system.serviceModel/bindings/basicHttpsBinding' est introuvable.

Je reçois cette erreur lorsque j'essaie de naviguer dans mon fichier .svc. Il semble que cela ne trouve pas mon basicHttpsBinding; voici cette section de mon 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"/> 

J'ai essayé de chercher dans Google, mais les réponses que j'ai pu trouver ne semblent pas s'appliquer à ce que je fais ici. La plupart de ce que j'ai trouvé a parlé de reliures personnalisées, dont je ne pense pas en avoir. Honnêtement, je ne suis même pas sur de ce qui pourrait causer cette erreur, alors toute aide serait grandement appréciée. Si vous avez besoin de plus d'informations, faites-le moi savoir et je l'ajouterai.

16
Darian Everett

BasicHttpsBinding est une nouvelle liaison dans .NET 4.5, vous ne pouvez donc pas l'utiliser dans une application 4.0. Soit vous supprimez le protocolMapping ou vous utilisez une autre liaison telle que basicHttpBinding ou wsHttpBinding.

Lorsque vous configurez SSL dans IIS, cela devrait également fonctionner.

17
slfan

Si vous avez un scénario similaire au mien, où Web.config généré par Visual Studio a la configuration suivante:

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

... ajouter <httpRuntime targetFramework="4.5" />

Alors que vous avez maintenant

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

J'ai également enlevé <pages controlRenderingCompatibilityVersion="4.0" /> sans impact sur ma situation.

11
user919426

Supprimer la section protocolMapping de web.config et cela fonctionnera.

1
Adem Sipahi