2013-08-14 11 views
13

Viene visualizzato questo errore quando provo a navigare nel mio file .svc. Sembra che non stia trovando il mio basicHttpsBinding; ecco che la sezione del mio web.config:Estensione di associazione della configurazione "system.serviceModel/bindings/basicHttpsBinding" non è stata trovata

<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"/> 

Ho provato a cercare tramite Google, ma tutte le risposte che ho trovato non sembrano applicarsi a quello che sto facendo qui. La maggior parte di ciò che ho trovato parlava di legami personalizzati, di cui non penso di averne. Onestamente non sono nemmeno abbastanza sicuro di quale potrebbe essere la causa di questo errore, quindi qualsiasi aiuto sarebbe molto apprezzato. Se hai bisogno di maggiori informazioni fammelo sapere e lo aggiungerò.

+1

Ho lo stesso problema. Qualsiasi aiuto sarebbe molto apprezzato! – SageMage

+1

Quale versione .NET usi? BasicHttpsBinding richiede .NET 4.5 – slfan

+1

@slfan Stiamo usando .Net 4.0; cosa suggeriresti di fare? Devo solo rimuovere quella sezione di mappatura del protocollo? –

risposta

14

BasicHttpsBinding è una nuova associazione in .NET 4.5, quindi non è possibile utilizzarlo in un'applicazione 4.0. O si rimuove il protocolloMapping o si utilizza un'altra associazione come basicHttpBinding o wsHttpBinding.

Quando si configura SSL in IIS, anche questo dovrebbe funzionare.

+0

quindi stai dicendo che hai solo bisogno di bsicHttpBinding e ssl funzionerà ancora? – PositiveGuy

+1

@CoffeeAddict le due associazioni sono molto simili. Vedi questa discussione http://stackoverflow.com/questions/14874529/what-is-the-difference-between-basichttpsbinding-and-wshttpbinding-with-transpor per capire la differenza – slfan

9

Se si dispone di uno scenario simile come il mio in cui Visual Studio generati Web.config ha le seguenti configurazioni:

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

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

Così che ora avete

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

Ho anche continuato a rimuovere <pages controlRenderingCompatibilityVersion="4.0" /> senza alcun impatto nella mia situazione.

+1

Questa risposta è buona per un'app .Net 4.5. Non è ovvio perché dovrebbe essere necessario farlo, dato che abbiamo già detto targetFramework = "4.5", ma sembra proprio che le parti della configurazione siano ancora predefinite a 4.0 unles, quindi impostiamo qui la versione di destinazione così come in "". –

0

Rimuovere protocolMapping sezione dalla web.config e funzionerà.

Problemi correlati