एक आधार पते (एक प्रति "योजना" - जैसे 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
फ़ाइल का स्थान वास्तव में उस सेवा के "मूल पते" को निर्देशित करता है, उदा। इस तरह के मामले में आधार पता होने से वास्तव में कोई फर्क नहीं पड़ता है/वास्तव में वास्तव में मदद नहीं करता है।
स्रोत
2012-12-28 13:28:23
वैसे यह मेरे लिए एक अच्छा सवाल जैसा दिखता है, यह निश्चित रूप से कुछ है जो मैं अभी जवाब देने का प्रयास कर रहा हूं और तथ्य यह है कि यह एक वैध प्रश्न है, नीचे मार्क_एस के उत्तर की गुणवत्ता से प्रमाणित है। –