2013-08-14 11 views
13

जब मैं अपनी .svc फ़ाइल पर नेविगेट करने का प्रयास करता हूं तो मुझे यह त्रुटि मिल रही है। ऐसा प्रतीत होता है कि यह मेरे मूल Https बाइंडिंग नहीं ढूंढ रहा है; यहाँ मेरी web.config के उस अनुभाग है:कॉन्फ़िगरेशन बाध्यकारी एक्सटेंशन 'system.serviceModel/bindings/basicHttps बाइंडिंग' नहीं मिला

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

मैं गूगल के माध्यम से खोज करने की कोशिश की, लेकिन कोई जवाब मैं मिल सकता है मैं यहाँ क्या कर रहा करने के लिए लागू करने के लिए नहीं मालूम था। जो कुछ मैंने पाया वह कस्टम बाइंडिंग के बारे में बात करता था, जिसमें से मुझे नहीं लगता कि मेरे पास कोई है। मैं ईमानदारी से यह सुनिश्चित करने के करीब भी नहीं हूं कि इस त्रुटि के कारण क्या हो सकता है, इसलिए किसी भी मदद की सराहना की जाएगी। अगर आपको अधिक जानकारी चाहिए तो मुझे बताएं और मैं इसे जोड़ दूंगा।

+1

मुझे एक ही समस्या है। कोई भी सहायताकाफी प्रशंसनीय होगी! – SageMage

+1

आप किस .NET संस्करण का उपयोग करते हैं? BasicHttps बाइंडिंग के लिए .NET 4.5 – slfan

+1

@slfan की आवश्यकता है हम .NET 4.0 का उपयोग कर रहे हैं; आप क्या सुझाव देंगे कि मैं करता हूं? क्या मुझे बस उस प्रोटोकॉल मैपिंग सेक्शन को हटाने की ज़रूरत है? –

उत्तर

14

BasicHttpsBinding .NET 4.5 में एक नया बाध्यकारी है, इसलिए आप इसे 4.0 एप्लिकेशन में उपयोग नहीं कर सकते हैं। या तो आप प्रोटोकॉल मैपिंग को हटाते हैं या आप basicHttpBinding या wsHttpBinding जैसे किसी अन्य बाध्यकारी का उपयोग करते हैं।

जब आप आईआईएस में एसएसएल को कॉन्फ़िगर करते हैं, तो यह भी काम करना चाहिए।

+0

तो क्या आप कह रहे हैं कि आपको केवल bsicHttp बाइंडिंग की आवश्यकता है और एसएसएल अभी भी काम करेगा? – PositiveGuy

+1

@CoffeeAddict दो बाइंडिंग बहुत समान हैं। इस धागे को देखें http://stackoverflow.com/questions/14874529/what-is-the-difference-between-basichttpsbinding-and-wshttpbinding-with-transpor अंतर को समझने के लिए – slfan

9

आप मेरा के रूप में एक समान परिदृश्य है, तो जहां दृश्य स्टूडियो-उत्पन्न Web.config है निम्न कॉन्फ़िगरेशन:

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

... जोड़ने <httpRuntime targetFramework="4.5" />

तो अब है कि

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

मैंने अपनी स्थिति में कोई प्रभाव नहीं होने के साथ <pages controlRenderingCompatibilityVersion="4.0" /> को भी हटा दिया।

+1

यह उत्तर .NET 4.5 एप के लिए अच्छा है। यह स्पष्ट नहीं है कि ऐसा करने के लिए क्यों जरूरी होना चाहिए, बशर्ते कि हमने पहले से ही लक्ष्यफ्रेमवर्क = "4.5" कहा है, लेकिन यह वास्तव में ऐसा प्रतीत होता है कि कॉन्फ़िगरेशन के कुछ हिस्सों में अभी भी 4.0 unles तक डिफ़ॉल्ट होगा, हम यहां लक्ष्य संस्करण सेट करते हैं साथ ही ' 'में। –

0

web.config से protocolMapping अनुभाग निकालें और यह काम करेगा।

संबंधित मुद्दे