2010-03-24 10 views
6

मैं यह पता लगाने की कैसे मेरे web.config (ग्राहक) का उपभोग करने के दो अलग-अलग WCF वेब सेवाओं एक अन्य का उपयोग कर का उपयोग करWCF क्लाइंट लेने वाली कई सेवाओं

मैं दो endpoint है स्थापित करने के लिए कोशिश कर रहा हूँ, मैं अनुमान है कि मुझे दो अलग-अलग बाध्यकारी विन्यास की आवश्यकता है। यह मेरा वर्तमान बाध्यकारी नोड है:

<basicHttpBinding> 
    <binding name="WebServiceProxyServiceSoapBinding" closeTimeout="00:01:00" 
     openTimeout="00:01:00" receiveTimeout="00:01:00" sendTimeout="00:01:00" 
     allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard" 
     maxBufferSize="2147483647" maxBufferPoolSize="524288" maxReceivedMessageSize="2147483647" 
     messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered" useDefaultWebProxy="true"> 
     <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384" 
      maxBytesPerRead="4096" maxNameTableCharCount="16384" /> 
     <security mode="Transport"> 
     <transport clientCredentialType="None" proxyCredentialType="None" realm="" /> 
     <message clientCredentialType="UserName" algorithmSuite="Default" /> 
     </security> 
    </binding> 
    </basicHttpBinding> 

मैं एक और बुनियादी एचटीपी बाइंडिंग नोड नहीं जोड़ सकता। बात यह है कि अगर मैंने बदल दिया है तो <security mode="Transport"> में मोड पैरामीटर था तो बाध्यकारी एक या दूसरे एंडपॉइंट के लिए बहुत अच्छा काम करेगा।

यह एक आम समस्या की तरह लगता है, लेकिन एक जवाब नहीं मिला है। कुल मिलाकर मैं सरल उपभोग और कॉल के बाहर डब्ल्यूसीएफ (यदि यह स्पष्ट नहीं है) के साथ बहुत अनुभव नहीं कर रहा हूं। कोई भी मदद बहुत अच्छी रहेगी!

यह लेख पास नहीं बल्कि काफी एक ही मुद्दा है कि वे एक अलग सुरक्षा मोड .: How to consume multiple WCF services from one client

अग्रिम धन्यवाद की ज़रूरत नहीं थी के रूप में किया गया था।

उत्तर

6

<basicHttpBinding> नोड के तहत आपको एक अलग नाम और जो भी अलग विकल्प पसंद हैं, उसके साथ आपको बस एक और <binding> नोड जोड़ने की आवश्यकता है।

फिर, स्पष्ट रूप से, सुनिश्चित करें कि प्रत्येक क्लाइंट को <endpoint> नोड के लिए bindingConfiguration विशेषता में उपयुक्त नाम सेट करके बाध्यकारी का उपयोग करने के लिए कॉन्फ़िगर किया गया है।

+0

:) यह बहुत आसान था। धन्यवाद! – SCEV

1

मैं दो endpoint है, मुझे लगता है मैं दो अलग बाइंडिंग विन्यास की जरूरत है। यह मेरे वर्तमान बाध्यकारी नोड है:

ज़रूरी नहीं है - अगर इन दोनों सेवाओं में एक ही सेटिंग्स और एक ही प्रोटोकॉल का उपयोग, एक बाध्यकारी विन्यास करेंगे।

<system.serviceModel> 
    <bindings> 
     ..... (as you already have it) .... 
    </bindings> 
    <client> 
     <endpoint name="Service1Endpoint" 
       address="http://yourserver/service1.svc" 
       binding="basicHttpBinding" 
       bindingConfiguration="WebServiceProxyServiceSoapBinding" 
       contract="IWCFService1" /> 
     <endpoint name="Service2Endpoint" 
       address="http://yourserver/service2.svc" 
       binding="basicHttpBinding" 
       bindingConfiguration="WebServiceProxyServiceSoapBinding" 
       contract="IWCFService2" /> 
    </client> 
</system.serviceModel> 

करना चाहिए कि:

आप दोनों को जोड़ने के लिए है एक ग्राहक तत्व की जरूरत है।

बेशक

, अपने दूसरे सेवा एक और बाध्यकारी का उपयोग करता है, या विभिन्न सुरक्षा सेटिंग्स की जरूरत है, तो हाँ, आप अपने <basicHttpBinding> नोड और संदर्भ है कि दूसरी अपने दो ग्राहक अंतिम बिंदुओं में से एक से बाध्यकारी विन्यास के तहत एक दूसरे <binding name="something else" .....> जोड़ने की जरूरत होगी यहाँ।

+0

अरे, मुझे लगता है कि मैं एक दूसरा नोड जोड़ने की कोशिश कर रहा था, दूसरा बच्चा बाइंडिंग नोड नहीं! धन्यवाद! – SCEV

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