c# वेब संदर्भ बनाम सेवा संदर्भ




.net-3.5 paypal (4)

अगर मैं आपका प्रश्न सही समझता हूं:

डब्ल्यूसीएफ सेवा संदर्भ के बजाय .net 2.0 वेब सेवा संदर्भ जोड़ने के लिए, अपनी प्रोजेक्ट पर राइट-क्लिक करें और 'सेवा संदर्भ जोड़ें' पर क्लिक करें।

फिर संवाद के नीचे बाईं ओर "उन्नत .." पर क्लिक करें।

फिर अगले संवाद के निचले बाएं भाग पर "वेब संदर्भ जोड़ें .." पर क्लिक करें।

अब आप एक नियमित SOAP वेब संदर्भ जोड़ सकते हैं जैसे आप ढूंढ रहे हैं।

मैंने बस पेपैल के साथ एक विशाल ईंट की दीवार मारा। मैंने अपने डब्लूएसडीएल का उपयोग करके कुछ रैपर वर्ग बनाने के लिए नियमित सी # प्रोजेक्ट बनाया था।

यदि आप एक गैर-वेब प्रोजेक्ट बनाते हैं, तो एकमात्र विकल्प जिसे आप wsdl जोड़ना चाहते हैं वह एक वेब सेवा संदर्भ है। और यह वेब संदर्भ के रूप में प्रॉक्सी कक्षाओं का एक ही सेट बनाता है लेकिन वास्तव में नहीं ... और अधिक जोड़ता है कि पेपैल के लोगों को भी पता नहीं है।

इसलिए मैं इस पूरे समय सेवा (सोप बाइंडिंग) के रूप में उपयोग करने के लिए प्रॉक्सी कक्षाओं की इस सूची में सही इंटरफ़ेस की PayPalAPIAASoapBinding कर रहा था और PayPalAPIAASoapBinding वहां नहीं था, मैंने संपर्क में हमारे पेपैल बिंदु को बताया था।

मैं केवल निम्नलिखित 2 इंटरफेस देख सकता था जो मुझे दिखाई देने के लिए आवश्यक थे क्योंकि मुझे PayPalAPIAASoapBinding दिखाई नहीं PayPalAPIAASoapBinding जिसे आप वेब संदर्भ आधारित सेवा संदर्भ में देख सकते हैं:

PayPalAPIAAInterfaceClient
PayPalAPIInterfaceClient 

तो मैंने ओह को समझ लिया, मैंने शायद एक वेब रेफरेंस बनाम एक वेब रेफरेंस बनाया था जो वेब रेफरेंस वेब प्रोजेक्ट में एक विकल्प है। लेकिन मैं नहीं चाहता कि मेरा सेवा संदर्भ कड़ाई से मेरी वेब प्रोजेक्ट के साथ मिल जाए। इसलिए मैंने सी # प्रोजेक्ट बनाया है।

तो क्या बिल्ली एक सेवा संदर्भ बनाम वेब संदर्भ है? और अगर मैं मुझे एक लूप फेंकने जा रहा हूं और मुझे वेब संदर्भ की तुलना में अलग-अलग इंटरफेस का सेट दे रहा है तो मुझे इसे किसी अन्य परियोजना में कैसे अलग करना है?

इसके अलावा, चीजों को और भी भ्रमित करने के लिए, वीएस 2008 में एक वेब सेवा अनुप्रयोग परियोजना है।

तो मैं क्या उपयोग करूं? हम .NET 3.5 ढांचे का उपयोग कर रहे हैं और हम डब्ल्यूसीएफ में जाने के लिए तैयार नहीं हैं । तो क्या मैं अभी भी डब्ल्यूसीएफ का उपयोग नहीं कर रहा हूं या फिर क्या नया सेवा संदर्भ का उपयोग कर सकता हूं? यदि आप अभी तक .NET 3.5 का उपयोग कर रहे हैं और डब्लूसीएफ नहीं हैं और आप अभी भी बुनियादी वेब सेवाएं करना चाहते हैं, तो क्या आप अभी भी सेवा संदर्भ मार्ग पर जाते हैं और डब्लूसीएफ फ्रेमवर्क का उपयोग नहीं करते हैं? इसका मतलब यह है कि इसे .NET 2.0 वेब संदर्भ की तरह अभी भी इस्तेमाल किया जा सकता है, बस आपको डब्लूएसडीएल की पूरी तरह से अलग पीढ़ी मिल जाएगी?


एक सेवा संदर्भ जोड़ना आपको एक डब्ल्यूसीएफ क्लाइंट बनाने की अनुमति देता है, जिसका प्रयोग नियमित वेब सेवा से बात करने के लिए किया जा सकता है बशर्ते आप उपयुक्त बाध्यकारी का उपयोग करें। एक वेब संदर्भ जोड़ने से आप केवल एक वेब सेवा (यानी, SOAP) संदर्भ बना सकते हैं।

यदि आप बिल्कुल निश्चित हैं कि आप डब्ल्यूसीएफ के लिए तैयार नहीं हैं (वास्तव में क्यों नहीं जानते) तो आपको नियमित वेब सेवा संदर्भ बनाना चाहिए।


अंत में, दोनों एक ही काम करते हैं। कोड में कुछ अंतर हैं: वेब सेवा प्रोजेक्ट का रूट नेमस्पेस नहीं जोड़ती है, लेकिन सेवा संदर्भ परियोजना के नामस्थान में सेवा कक्षाओं को जोड़ता है। ServiceSoapClient क्लास को एक अलग नामकरण मिलता है, जो महत्वपूर्ण नहीं है। टीएफएस के साथ काम करने में मैं सेवा संदर्भ का उपयोग करता हूं क्योंकि यह स्रोत नियंत्रण के साथ बेहतर काम करता है। दोनों एसओएपी प्रोटोकॉल के साथ काम करते हैं।

मुझे सेवा संदर्भ का उपयोग करना बेहतर लगता है क्योंकि यह नया है और इस प्रकार बेहतर बनाए रखा जाएगा।


वेब संदर्भ जोड़ें पुरानी शैली, बहिष्कृत एएसपी.नेट वेबसाइसेस (एएसएमएक्स) तकनीक (केवल आपकी सामग्री के लिए XmlSerializer का उपयोग करके) - यदि आप ऐसा करते हैं, तो आपको एएसएमएक्स वेब सेवा के लिए एएसएमएक्स क्लाइंट मिलता है। आप इसे किसी भी प्रोजेक्ट (वेब ​​ऐप, वेब साइट, कंसोल ऐप, विनफॉर्म - आप इसे नाम दें) में कर सकते हैं।

सेवा संदर्भ जोड़ें इसे करने का नया तरीका है, एक डब्ल्यूसीएफ सेवा संदर्भ जोड़ना, जो आपको केवल सादे पुराने एएसएमएक्स सामान की तुलना में अधिक उन्नत, अधिक लचीला सेवा मॉडल प्रदान करता है।

चूंकि आप डब्ल्यूसीएफ में जाने के लिए तैयार नहीं हैं, आप अभी भी पुरानी शैली के वेब संदर्भ को जोड़ सकते हैं, यदि आपको वास्तव में जरूरी है: जब आप "सेवा संदर्भ जोड़ें" करते हैं, तो आने वाले संवाद पर, [उन्नत पर क्लिक करें बटन बटन बाएं कोने में बटन:

और आने वाले अगले संवाद पर, नीचे [वेब संदर्भ जोड़ें] बटन चुनें।





paypal