मैं विज़ुअल स्टूडियो को आग लगाऊंगा, एक वेब प्रोजेक्ट (या कंसोल ऐप - कोई फर्क नहीं पड़ता) बनाएगा।
.Net मानक के लिए:
- मैं प्रोजेक्ट पर राइट-क्लिक करेगा और ऐड संदर्भ मेनू से "सेवा संदर्भ जोड़ें" चुनें।
- मैं उन्नत पर क्लिक करूंगा, फिर Add Service Reference पर क्लिक करूंगा।
- मुझे wsdl का पूरा फ़ाइल पथ मिलेगा और पता बार में पेस्ट करना होगा। फिर एरो (गो बटन) को फायर करें।
- यदि फ़ाइल को लोड करने में कोई त्रुटि हो रही है, तो एक टूटी हुई और अनसुलझी यूआरएल होनी चाहिए जिसे नीचे दिए गए अनुसार हल करने की आवश्यकता है:
सूचना को ठीक करने के तरीके के बारे में इस उत्तर का संदर्भ लें:
Stackoverflow का उत्तर: सेवा संदर्भ बनाने में असमर्थ wsdl फ़ाइल
यदि कोई त्रुटि नहीं है, तो आपको बस उस नामस्थान को सेट करना चाहिए जिसे आप सेवा का उपयोग करने के लिए उपयोग करना चाहते हैं और यह आपके लिए उत्पन्न होगा।
.Net कोर के लिए
- मैं प्रोजेक्ट पर राइट क्लिक कर Add संदर्भ मेनू से कनेक्टेड सर्विस चुनूंगा।
- मैं सूची से Microsoft WCF वेब सेवा संदर्भ प्रदाता का चयन करूंगा।
- मैं ब्राउज़ दबाऊंगा और सीधे wsdl फ़ाइल का चयन करूँगा, नाम स्थान सेट करूँगा और मैं जाने के लिए अच्छा हूँ। यदि आप किसी भी त्रुटि का सामना करते हैं, तो ऊपर त्रुटि url को देखें।
ऊपर दिए गए तरीकों में से कोई भी आपके उपयोग के लिए एक सरल, बहुत ही बुनियादी WCF क्लाइंट उत्पन्न करेगा। आपको जनरेट किए गए कोड में "YourservicenameClient" क्लास मिलनी चाहिए।
संदर्भ उद्देश्य के लिए, जेनरेट की गई सीएस फाइल आपके ओबज / डिबग (या रिलीज) / एक्सएसडीनर्जेटकोड में पाई जा सकती है और आप अभी भी टेंपेल फ़ोल्डर में डीएलएस पा सकते हैं।
निर्मित सेवा (एस) में डब्ल्यूएसडीएल अनुबंध पर परिभाषित तरीकों में से प्रत्येक के लिए विधियां होनी चाहिए।
ग्राहक को तुरंत बताएं और उन तरीकों को कॉल करें जिन्हें आप कॉल करना चाहते हैं - यही सब कुछ है!
YourServiceClient client = new YourServiceClient();
client.SayHello("World!");
यदि आपको दूरस्थ URL (डिफ़ॉल्ट रूप से निर्मित एक का उपयोग नहीं करना) निर्दिष्ट करने की आवश्यकता है, तो आप इसे आसानी से प्रॉक्सी के निर्माणकर्ता में कर सकते हैं:
YourServiceClient client = new YourServiceClient("configName", "remoteURL");
configName
उपयोग करने के लिए समापन बिंदु का नाम कहां है (आप URL को छोड़कर सभी सेटिंग्स का उपयोग करेंगे), और remoteURL
कनेक्ट करने के लिए URL का प्रतिनिधित्व करने वाला एक स्ट्रिंग है (इसके बजाय कॉन्फ़िगरेशन में निहित)।