2012-12-28 18 views
15

में आधार पते का उपयोग क्या है मूल पता का उपयोग क्या है ... मेरा मतलब है आधार पता का अर्थ क्या है? अगर मैं आधार पता छोड़ देता हूं तो क्या समस्या हो सकती है?डब्ल्यूसीएफ सेवा

जब आधार पता आवश्यक है?

नीचे कॉन्फ़िगर प्रविष्टियों के अनुसार दो आधार पते हैं ... दो आधार पते की आवश्यकता क्यों है। जब लोग अधिक आधार पते देते हैं? बस नीचे दिए गए 2 आधार पते को देखें और मुझे बताएं कि लोग दो आधार पते क्यों देते हैं क्यों नहीं ... क्या कोई विशिष्ट कारण है?

<host> 
    <baseAddresses> 
    <add baseAddress="net.tcp://localhost:1645/ChatServer/"/> 
    <add baseAddress="http://localhost:1648/ChatServer/"/> 
    </baseAddresses> 
    </host> 
+1

वैसे यह मेरे लिए एक अच्छा सवाल जैसा दिखता है, यह निश्चित रूप से कुछ है जो मैं अभी जवाब देने का प्रयास कर रहा हूं और तथ्य यह है कि यह एक वैध प्रश्न है, नीचे मार्क_एस के उत्तर की गुणवत्ता से प्रमाणित है। –

उत्तर

25

एक आधार पते (एक प्रति "योजना" - जैसे http के लिए एक, एक net.tcp आदि के लिए) अपने पते का "आधार" परिभाषित कर सकते हैं - जो वास्तव में उपयोगी है यदि आप कई अंतिमबिंदुओं निर्दिष्ट करने के लिए करना चाहते हैं।

एक आधार पता कभी आवश्यक नहीं है - यह एक वैकल्पिक बात है, जो आपको अपने जीवन को सरल बनाने में मदद कर सकती है।

आधार पता होने से प्रत्येक वास्तविक सेवा पते के लिए केवल "सापेक्ष" भाग निर्दिष्ट करना संभव हो जाता है।

कल्पना कीजिए कि आप तीन सेवा अंतिमबिंदुओं करना चाहते हैं - या तो आप उन सब को अलग से परिभाषित कर सकते हैं, पूरी तरह से इस तरह की एक config कुछ में:

<service name="Test1"> 
    <endpoint name="endpoint1" 
     address="http://yourserver/yourservices/test1/service1" ..... /> 
    <endpoint name="endpoint2" 
     address="http://yourserver/yourservices/test1/service2" ..... /> 
    <endpoint name="endpoint3" 
     address="http://yourserver/yourservices/test1/service3" ..... /> 
</service> 

या आप एक आधार निर्दिष्ट द्वारा आम भागों परिभाषित कर सकते हैं पता और फिर आसान है "रिश्तेदार" पतों को पढ़ने के लिए:

<service name="Test1"> 
    <host> 
     <baseAddresses> 
     <add baseAddress="http://yourserver/yourservices/test1/"/> 
     </baseAddresses> 
    </host> 
    <endpoint name="endpoint1" 
     address="service1" ..... /> 
    <endpoint name="endpoint2" 
     address="service2" ..... /> 
    <endpoint name="endpoint3" 
     address="service3" ..... /> 
</service> 

तो एक आधार पते का उपयोग कर यह आसान कई अंतिमबिंदुओं निर्दिष्ट करने के लिए कर सकते हैं - और यह आप कुछ टाइपिंग बचा सकता है।

यह भी ध्यान दें कि यदि आप स्वयं-होस्टिंग आपकी डब्ल्यूसीएफ सेवा हैं तो बेस पते वास्तव में केवल उपयोगी हैं। यदि आप अपनी डब्ल्यूसीएफ सेवा होस्ट करने के लिए आईआईएस का उपयोग कर रहे हैं, तो *.svc फ़ाइल का स्थान वास्तव में उस सेवा के "मूल पते" को निर्देशित करता है, उदा। इस तरह के मामले में आधार पता होने से वास्तव में कोई फर्क नहीं पड़ता है/वास्तव में वास्तव में मदद नहीं करता है।

+0

यदि आप कृपया मेरे प्रश्न को देख सकते हैं: https://stackoverflow.com/questions/44277334/wcf-multiple-endpoints – FrenkyB

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