2013-08-14 12 views
13

.Svc dosyamda gezinmeye çalıştığımda bu hatayı alıyorum. Benim temelHttpsBinding bulma değil gibi görünüyor; İşte benim web.config o bölüm var:Yapılandırma bağlanma uzantısı 'system.serviceModel/bindings/basicHttpsBinding' bulunamadı .

<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 üzerinden arama denedim ama bulabildiğim herhangi bir cevap ben burada ne aradığımı için geçerli değildi. Bulduğum şeylerin çoğunun sahip olduğumu düşünmediğim özel bağlamalar hakkında konuştuk. Dürüst olmak gerekirse, bu hatayı neden olabileceğinden emin değilim, bu yüzden herhangi bir yardım çok takdir edilecektir. Daha fazla bilgiye ihtiyacınız varsa, bildirin ve ekleyeceğim.

+1

Aynı sorunu yaşıyorum. Herhangi bir yardım çok takdir edilecektir! – SageMage

+1

Hangi .NET sürümünü kullanıyorsunuz? BasicHttpsBinding gerektirir .NET 4.5 – slfan

+1

@slfan Kullanıyoruz. Net 4.0; ne yapmamı önerirsiniz? Bu protokol haritalama bölümünü kaldırmam mı gerekiyor? –

cevap

14

BasicHttpsBinding, .NET 4.5'te yeni bir bağdır, bu nedenle 4.0 uygulamasında kullanamazsınız. ProtocolMapping'i kaldırırsanız veya basicHttpBinding veya wsHttpBinding gibi başka bir ciltleme kullanırsınız.

IIS'de SSL'yi yapılandırdığınızda, bu da işe yaramalıdır.

+0

Yani sadece bsicHttpBinding ve ssl hala işe yarayacak mı diyorsun? – PositiveGuy

+1

@CoffeeAdmin iki bağlama çok benzerdir. Bu konuya bakın http://stackoverflow.com/questions/14874529/what-is-the-difference-between-basichttpsbinding-and-wshttpbinding-with-transpor farkı anlamak için – slfan

9

Visual Studio tarafından oluşturulan sahiptir Web.config aşağıdaki yapılandırmaları nereye mayın benzer bir senaryo varsa:

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

... Şimdi sahip Böylece <httpRuntime targetFramework="4.5" />

eklemek

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

Ayrıca, durumumda hiçbir etkisi olmadan <pages controlRenderingCompatibilityVersion="4.0" />'u kaldırmaya da devam ettim.

+1

Bu cevap bir .Net 4.5 uygulaması için iyidir. HedefFramework = "4.5" dediğimiz için bunun neden gerekli olması gerektiği açık değil, fakat konfigürasyon bölümlerinin varsayılan olarak 4,0 unite için varsayılan olması gibi görünüyor. yanı sıra 'da. –

0

web.config'dan gelen protocolMapping bölümünü kaldır ve işe yarayacak.