2010-09-15 10 views
5

मैं एकल सेवा में wshttpbinding (एसएसएल और एसएसएल के बिना) का उपयोग करना चाहता हूं लेकिन यह काम नहीं करता है, किसी ने इसे लागू किया है। तो कृपया गाइड करें कि मैं इसे कैसे प्राप्त कर सकता हूं?एसएसएल के साथ wshttp बाइंडिंग और एसएसएल के बिना wsHttp बाइंडिंग एकल सेवा

<system.serviceModel> 
<behaviors> 
    <serviceBehaviors> 
    <behavior name="CommonBehaviour"> 
     <dataContractSerializer maxItemsInObjectGraph="2147483647" /> 
     <serviceCredentials> 
     <serviceCertificate findValue="AzilenTechnology" x509FindType="FindBySubjectName" /> 
     </serviceCredentials> 
     <serviceDebug includeExceptionDetailInFaults="false" /> 
     <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" /> 
    </behavior> 
    </serviceBehaviors> 
</behaviors> 
<bindings> 
    <basicHttpBinding> 
    <binding name="basicHttpBindingConfig" closeTimeout="00:10:00" 
     openTimeout="00:10:00" sendTimeout="00:10:00" maxBufferSize="2147483647" 
     maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647" 
     messageEncoding="Mtom"> 
     <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647" 
     maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" /> 
    </binding> 
    </basicHttpBinding> 
    <wsHttpBinding> 
    <binding name="wsHttpBindingConfig" closeTimeout="00:10:00" openTimeout="00:10:00" 
     sendTimeout="00:10:00" bypassProxyOnLocal="true" maxBufferPoolSize="2147483647" 
     maxReceivedMessageSize="2147483647" messageEncoding="Mtom"> 
     <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647" 
     maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" /> 
     <security mode="None" /> 
    </binding> 
    </wsHttpBinding> 
</bindings> 
<services> 
    <service behaviorConfiguration="CommonBehaviour" name="wcfAllInOne.wcfFileIO"> 
    <endpoint binding="mexHttpBinding" bindingConfiguration="" contract="IMetadataExchange" /> 
    <endpoint address="http://localhost:82/WCFAllInOne/wcfFileIO.svc/basicHttpEndPoint" binding="basicHttpBinding" 
     bindingConfiguration="basicHttpBindingConfig" name="BasicHttp" 
     contract="wcfAllInOne.IwcfFileIO" /> 
    <endpoint address="http://localhost:82/WCFAllInOne/wcfFileIO.svc/wsHttpBindingEndPoint" binding="wsHttpBinding" 
     bindingConfiguration="wsHttpBindingConfig" name="wsHttp" contract="wcfAllInOne.IwcfFileIO" /> 
    <endpoint address="https://localhost:444/WCFAllInOne/wcfFileIO.svc/wsHttpSslEndPoint" binding="wsHttpBinding" 
     bindingConfiguration="wsHttpBindingConfig" name="wsHttpSsl" 
     contract="wcfAllInOne.IwcfFileIO" /> 
    <endpoint binding="mexHttpsBinding" bindingConfiguration="" contract="IMetadataExchange" /> 
     </service> 
</services> 

+0

हमें दिखाएं कि कौन सी कॉन्फ़िगरेशन आपके लिए काम नहीं करती है। –

उत्तर

9

मैं समाधान, क्यों मेरा आखिरी विन्यास काम नहीं करता पाया,

मेरी पहली गलती है कि मैं एसएसएल बिना SSL और wsHttpBinding साथ wsHttpBinding के लिए एक ही विन्यास इस्तेमाल किया

यहां मेरी कॉन्फ़िगरेशन फ़ाइल में, मैंने अभी केवल एक "wsHttpBindingConfig" दोनों एंडपॉइंट के लिए बनाया है (किसी के पास http पता है और किसी अन्य के पास https पता है),

अब मैं इस समस्या को हल करने के लिए दो अलग-अलग कॉन्फ़िगरेशन का उपयोग कर रहा हूं।

<system.serviceModel> 
<behaviors> 
    <serviceBehaviors> 
    <behavior name="CommonBehaviour"> 
     <dataContractSerializer maxItemsInObjectGraph="2147483647" /> 
     <serviceCredentials> 
     <serviceCertificate findValue="AzilenTechnologies" x509FindType="FindBySubjectName" /> 
     </serviceCredentials> 
     <serviceDebug includeExceptionDetailInFaults="false" /> 
     <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" /> 
    </behavior> 
    </serviceBehaviors> 
</behaviors> 
<bindings> 
    <basicHttpBinding> 
    <binding name="basicHttpBindingConfig" closeTimeout="00:10:00" 
     openTimeout="00:10:00" sendTimeout="00:10:00" maxBufferSize="2147483647" 
     maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647" 
     messageEncoding="Mtom"> 
     <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647" 
     maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" /> 
     <security> 
     <transport> 
      <extendedProtectionPolicy policyEnforcement="Never" /> 
     </transport> 
     </security> 
    </binding> 
    </basicHttpBinding> 
    <wsHttpBinding> 
    <binding name="wsHttpsBindingConfig" closeTimeout="00:10:00" 
     openTimeout="00:10:00" sendTimeout="00:10:00" bypassProxyOnLocal="true" 
     maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647" 
     messageEncoding="Mtom"> 
     <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647" 
     maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" /> 
     <security mode="Transport"> 
     <transport clientCredentialType="None"> 
      <extendedProtectionPolicy policyEnforcement="Never" /> 
     </transport> 
     </security> 
    </binding> 
    <binding name="wsHttpBindingConfig" closeTimeout="00:10:00" openTimeout="00:10:00" 
     sendTimeout="00:10:00" maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647" 
     messageEncoding="Mtom"> 
     <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647" 
     maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" /> 
     <security> 
     <transport> 
      <extendedProtectionPolicy policyEnforcement="Never" /> 
     </transport> 
     </security> 
    </binding> 
    </wsHttpBinding> 
</bindings> 
<services> 
    <service behaviorConfiguration="CommonBehaviour" name="wcfAllInOne.wcfFileIO"> 
    <endpoint binding="mexHttpBinding" bindingConfiguration="" contract="IMetadataExchange" /> 
    <endpoint address="/basicHTTPEndPoint" binding="basicHttpBinding" 
     bindingConfiguration="basicHttpBindingConfig" name="basicHttp" 
     contract="wcfAllInOne.IwcfFileIO" /> 
    <endpoint address="/wsHTTPEndPoint" binding="wsHttpBinding" bindingConfiguration="wsHttpBindingConfig" 
     name="wsHttp" contract="wcfAllInOne.IwcfFileIO" /> 
    <endpoint address="/wsHTTPSEndPoint" binding="wsHttpBinding" 
     bindingConfiguration="wsHttpsBindingConfig" name="wsHttpSsl" 
     contract="wcfAllInOne.IwcfFileIO" /> 
    <endpoint binding="mexHttpsBinding" bindingConfiguration="" contract="IMetadataExchange" /> 
    </service> 
</services> 

+0

तो, अब यह कॉन्फ़िगरेशन वर्क्सएसएस, –

+0

आशा है कि हम WSHttp बाइंडिंग का उपयोग बिना एसएसएल और https: // 'सही कर सकते हैं? –

+0

@ मुरली हां, यह काम करता है –

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