webentwicklung-frage-antwort-db.com.de

Die Konfigurationsbindungserweiterung 'system.serviceModel/bindings/basicHttpsBinding' wurde nicht gefunden

Ich erhalte diese Fehlermeldung, wenn ich versuche, zu meiner .svc-Datei zu navigieren. Es scheint, dass es meine basicHttpsBinding nicht findet; Hier ist dieser Abschnitt meiner 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"/> 

Ich habe versucht, durch Google zu suchen, aber alle Antworten, die ich finden konnte, schienen nicht das zu sein, was ich hier mache. Die meisten von denen, die ich gefunden habe, sprachen von benutzerdefinierten Bindungen, von denen ich glaube, dass ich keine habe. Ich bin ehrlich gesagt noch nicht einmal ganz sicher, was diesen Fehler verursachen könnte, also wäre jede Hilfe sehr dankbar. Wenn Sie weitere Informationen benötigen, lassen Sie es mich wissen und ich füge es hinzu.

16
Darian Everett

BasicHttpsBinding ist eine neue Bindung in .NET 4.5 und kann daher nicht in einer 4.0-Anwendung verwendet werden. Entweder entfernen Sie das protocolMapping oder Sie verwenden eine andere Bindung wie basicHttpBinding oder wsHttpBinding.

Wenn Sie SSL in IIS konfigurieren, sollte dies ebenfalls funktionieren.

17
slfan

Wenn Sie ein ähnliches Szenario wie das Szenario haben, in dem der von Visual Studio generierte Web.config die folgenden Konfigurationen aufweist:

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

... <httpRuntime targetFramework="4.5" /> hinzufügen

Damit hast du jetzt

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

Ich entfernte auch <pages controlRenderingCompatibilityVersion="4.0" /> ohne Auswirkung auf meine Situation.

11
user919426

Entfernen Sie protocolMapping aus web.config und es wird funktionieren.

1
Adem Sipahi