2013-08-14 14 views
13

Ich erhalte diesen Fehler, wenn ich versuche, zu meiner .svc Datei zu navigieren. Es scheint, dass es mein grundlegendes HttpsBinding nicht findet; hier ist das Teil meiner web.config:Konfiguration Bindungserweiterung 'system.serviceModel/bindings/basicHttpsBinding' konnte nicht gefunden werden

<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, über Google gesucht, aber keine Antworten, die ich zu nicht gelten scheinen finden konnte, was ich hier tue. Das meiste von dem, was ich gefunden habe, sprach über benutzerdefinierte Bindungen, von denen ich glaube, dass ich keine habe. Ich bin ehrlich gesagt nicht einmal sicher, was diesen Fehler verursachen könnte, daher würde jede Hilfe sehr geschätzt werden. Wenn Sie weitere Informationen benötigen, lassen Sie es mich wissen und ich werde es hinzufügen.

+1

Ich habe das gleiche Problem. Jede Hilfe würde sehr geschätzt werden! – SageMage

+1

Welche .NET-Version verwenden Sie? BasicHttpsBinding erfordert .NET 4.5 – slfan

+1

@slfan Wir verwenden. Net 4.0; Was würdest du mir vorschlagen? Muss ich nur diesen Protokoll-Mapping-Abschnitt entfernen? –

Antwort

14

BasicHttpsBinding ist eine neue Bindung in .NET 4.5, daher können Sie es nicht in einer 4.0-Anwendung verwenden. Entweder Sie entfernen das Protokollmapping oder Sie verwenden eine andere Bindung wie basicHttpBinding oder wsHttpBinding.

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

+0

also sagst du, du brauchst nur bsicHttpBinding und ssl wird immer noch funktionieren? – PositiveGuy

+1

@CoffeeAddict die beiden Bindungen sind sehr ähnlich. Siehe diesen Thread http://stackoverflow.com/questions/14874529/what-is-the-difference-between-basichttpsbinding-and-wshttpbinding-with-transpor um den Unterschied zu verstehen – slfan

9

Wenn Sie ein ähnliches Szenario wie mir, wo die Visual Studio-generierte Web.config hat die folgenden Konfigurationen:

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

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

Damit Sie jetzt

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

Ich fuhr auch fort, <pages controlRenderingCompatibilityVersion="4.0" /> ohne Auswirkungen in meiner Situation zu entfernen.

+1

Diese Antwort ist gut für eine .Net 4.5 App. Es ist nicht offensichtlich, warum dies notwendig sein sollte, da wir bereits targetFramework = "4.5" angegeben haben, aber es scheint tatsächlich der Fall zu sein, dass Teile der Konfiguration immer noch auf 4.0 gesetzt werden, wenn wir hier die Zielversion einstellen sowie in ''. –

0

Entfernen protocolMapping Abschnitt von web.config und es wird funktionieren.

Verwandte Themen