2011-11-09 14 views
6

मैं एक विश्वसनीय वेब सेवा स्थापित करने के लिए डब्ल्यूसीएफ 4 का उपयोग करने की कोशिश कर रहा हूं। मैं चाहता हूं कि सेवा HTTP और HTTPS दोनों का उपयोग करके सुलभ हो।आप एचटीटीपी और एचटीटीपीएस डब्ल्यूसीएफ 4 रीस्टफुल सेवाओं को कैसे सेटअप करते हैं?

<system.serviceModel> 
<behaviors> 
    <endpointBehaviors> 
    <behavior> 
     <webHttp helpEnabled="true" /> 
    </behavior> 
    </endpointBehaviors> 
</behaviors> 
<protocolMapping> 
    <add scheme="http" binding="webHttpBinding" /> 
</protocolMapping> 
</system.serviceModel> 

मैं तो पर HTTPS सेवा के लिए यह करने के लिए थोड़ा विन्यास को बदलने के द्वारा कर सकते हैं:: डिफ़ॉल्ट रूप से सेवा निम्न विन्यास जो http लेकिन https लिए काम करता है के साथ बनाई गई है

<system.serviceModel> 
<behaviors> 
    <endpointBehaviors> 
    <behavior> 
     <webHttp helpEnabled="true" /> 
    </behavior> 
    </endpointBehaviors> 
</behaviors> 
<bindings> 
    <webHttpBinding > 
    <binding name="SecureWebBinding" > 
     <security mode="Transport"></security> 
    </binding> 
    </webHttpBinding> 
</bindings> 
<protocolMapping> 
    <add scheme="http" binding="webHttpBinding" bindingConfiguration="SecureWebBinding"/> 
</protocolMapping> 
</system.serviceModel> 

मेरे सवाल यह है कि मैं दोनों के साथ काम करने वाली सेवा कैसे प्राप्त करूं?

उत्तर

6

आपको दो अलग-अलग अंत-बिंदु बनाने की कोशिश करनी चाहिए। उदाहरण के लिए,

<system.serviceModel> 
    <services> 
     <service name="MyNameSpace.MyService"> 
      <endpoint address="https://www.example.com/MyService.svc" 
        binding="wsHttpBinding" bindingConfiguration="SecureWebBinding" 
        contract="MyNameSpace.IMyContract" /> 
      <endpoint address="http://www.example.com/MyService.svc" 
        binding="basicHttpBinding" 
        contract="MyNameSpace.IMyContract" /> 
     </service> 

     <bindings> 
      <webHttpBinding > 
       <binding name="SecureWebBinding" > 
       <security mode="Transport"></security> 
       </binding> 
      </webHttpBinding> 
     </bindings> 

    </services> 
</system.serviceModel> 
+1

मुझे लगता है कि यह आपके उदाहरण में पहले परिभाषित एंडपॉइंट के लिए ** https **: //ww.xyz.com/MyService.svc होना चाहिए। –

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