svcutil.exe उपकरण का उपयोग किये बिना डब्ल्यूसीएफ एप्लिकेशन कैसे बनाएं?svcutil.exe के बिना डब्ल्यूसीएफ अनुप्रयोगों का निर्माण?
उत्तर
विजुअल स्टूडियो का आप किस संस्करण का उपयोग कर रहे हैं?
वीएस 2008 में svcutil उपकरण की कार्यक्षमता शामिल है। प्रॉक्सी उत्पन्न करने के लिए, समाधान एक्सप्लोरर पर क्लिक करें और 'सेवा संदर्भ जोड़ें' का चयन करें, फिर आप सर्वर का यूआरएल दर्ज कर सकते हैं, नामस्थान को एक नाम दे सकते हैं और आप जा सकते हैं।
आप जो कुछ हासिल करना चाहते हैं उसके बारे में कुछ और जानकारी प्रदान करने के लिए आप अपने प्रश्न का विस्तार करना चाह सकते हैं।
svcutil.exe उपकरण (और VS2008 में बराबर कार्यक्षमता) आम तौर पर इस तरह इस्तेमाल कर रहे हैं: -
आप एक सेवा विवरण (एक WSDL दस्तावेज़) पर यह बात और यह क्लाइंट-साइड कोड और करने के लिए config उत्पन्न करता है आपको एक ग्राहक बनाने में मदद करता है जो डब्लूएसडीएल में वर्णित सेवाओं के साथ संवाद कर सकता है। उपकरण अन्य चीजें भी कर सकते हैं, लेकिन यही वह है जिसका उपयोग अक्सर किया जाता है। मुझे लगता है कि यह svcutil.exe का उपयोग है जिसका आप उल्लेख कर रहे हैं।
तो यदि आपके पास मौजूदा सेवा है, तो शायद कुछ अन्य स्टैक (डब्लूसीएफ नहीं) का उपयोग करके लिखा जा सकता है, svcutil का उपयोग करके आपके जीवन को अन्यथा इससे आसान बनाता है। लेकिन याद रखें, उत्पन्न कोड और कॉन्फ़िगर आपके द्वारा लिखा जा सकता था। आम तौर पर कॉन्फ़िगर वर्बोज़ दिखता है क्योंकि टूल वहां सभी डिफ़ॉल्ट डालता है। यदि आपने स्वयं को कॉन्फ़िगर लिखा है तो आप शायद इसे अधिकतर छोड़ सकते हैं।
यदि आप डब्ल्यूसीएफ का उपयोग कर क्लाइंट और सेवा लिख रहे हैं, तो इसका कोई कारण नहीं है कि आप svcutil.exe का उपयोग क्यों करेंगे। जब आप अपना [ServiceContract] परिभाषित करते हैं तो आप क्लाइंट और सेवा दोनों में उसी परिभाषा का उपयोग कर सकते हैं। जब आप अपनी सेवा कॉन्फ़िगरेशन फ़ाइल बनाते हैं तो क्लाइंट कॉन्फ़िगरेशन फ़ाइल बनाने के लिए यह एक साधारण काम है - अधिकांश सामग्री समान है।
अंत में, svcutil.exe द्वारा उत्पन्न सभी कोड/कॉन्फ़िगरेशन का अर्थ यह समझने के लिए कोई विकल्प नहीं है। फिर आप इसके बिना काम करने की स्थिति में होंगे।
svcutil.exe का उपयोग किए बिना अपने डब्ल्यूसीएफ क्लाइंट को बनाने का एक तरीका चैनलफैक्टरी का उपयोग करना है। आपको सेवा कार्यान्वयन से अलग असेंबली में डब्ल्यूसीएफ सेवा इंटरफ़ेस का निर्माण करने की आवश्यकता होगी। फिर आप अपने क्लाइंट और आपकी सेवा दोनों से इंटरफ़ेस असेंबली का संदर्भ दे सकते हैं।
एक बार जब आप संदर्भ है, तो आप एक WCF ग्राहक बनाने के लिए निम्नलिखित कोड का उपयोग कर सकता:
var factory = new ChannelFactory<IMyWcfService>();
var wcfClient = factory.CreateChannel();
bool closedSuccessfully = false;
try
{
// Now you can make calls on the wcfClient object
((ICommunicationObject)wcfClient).Close();
closedSuccessfully = true;
}
finally
{
if (!closedSuccessfully)
{
((ICommunicationObject)wcfClient).Abort();
}
}
नोट सफाई दिनचर्या। आप wcfClient चर को साफ़ करने के लिए विश्वसनीय रूप से उपयोग करने वाले कथन का उपयोग नहीं कर सकते हैं। यदि आप करते हैं, और ऑब्जेक्ट एक ग़लत स्थिति में है, तो आपको उपयोग() ब्लॉक गुंजाइश से बाहर हो जाता है और डिसपोज़() को wcfClient चर पर निष्पादित किया जाता है जब आपको एक अपवाद फेंक दिया जाएगा। Jesse Ezell's blog
- 1. रिबन स्टाइल अनुप्रयोगों का निर्माण
- 2. क्रॉस प्लेटफार्म अनुप्रयोगों का निर्माण
- 3. कोड कोड के बिना xcodebuild का उपयोग कर आईओएस अनुप्रयोगों का निर्माण
- 4. स्वयं निहित पायथन अनुप्रयोगों का निर्माण
- 5. svcutil.exe - WSDL
- 6. .NET 4.0 के लिए Svcutil.exe?
- 7. /sharedtypes svcutil.exe के बराबर है?
- 8. मोनोटच और डब्ल्यूसीएफ: SVCUTIL.EXE और SLSVCUTIL.EXE का अंतर और असमर्थित जेनेरिक चैनल फैक्ट्री से कैसे बचें?
- 9. पायथन वेब अनुप्रयोगों का निर्माण और तैनाती कैसे करें
- 10. ओपनजीएल अनुप्रयोगों के निर्माण के लिए पोर्टेबल टूलकिट लाइब्रेरी
- 11. सर्टिफिकेट स्टोर के बिना डब्ल्यूसीएफ सर्टिफिकेट
- 12. प्रमाण पत्र के बिना डब्ल्यूसीएफ उपयोगकर्ता नाम
- 13. बहु-किरायेदारी अनुप्रयोगों के निर्माण में सर्वोत्तम प्रथाएं क्या हैं?
- 14. .svc फ़ाइल के बिना डब्ल्यूसीएफ सेवा बनाना
- 15. आईडीई निर्भरता के बिना स्कैला का निर्माण/परीक्षण कैसे करें?
- 16. नोडजेएस अनुप्रयोगों का सुरक्षित वितरण
- 17. एक्सकोड के बिना सैंडबॉक्स किए गए ऐप का निर्माण कैसे करें?
- 18. क्या मैं डब्ल्यूसीएफ सेवा के लिए डेटा अनुबंध उत्पन्न करने के लिए svcutil.exe को मजबूर कर सकता हूं?
- 19. रनटाइम एपीआई अनुप्रयोगों में cuda संदर्भ निर्माण और संसाधन एसोसिएशन
- 20. पॉलीग्लोट प्रोग्रामिंग: क्या कई भाषाओं के साथ अनुप्रयोगों का निर्माण एक अच्छा अभ्यास है?
- 21. अनुप्रयोगों के लिए डब्ल्यूडीके निर्माण पर्यावरण में बढ़ावा का उपयोग करना?
- 22. प्रोग्राम वेब अनुप्रयोगों को बिना ढांचे के पायथन में?
- 23. wsdl.exe/svcutil.exe - वेब सेवा या क्लाइंट पीढ़ी
- 24. डब्ल्यूसीएफ
- 25. फ्लास्क अनुप्रयोगों का ढांचा
- 26. डब्ल्यूसीएफ
- 27. वेब सेवा के बिना डब्ल्यूसीएफ आरईएसटी और एसओएपी सेवा
- 28. डब्ल्यूसीएफ सेवा प्रशासक अधिकारों के बिना नहीं चल रही
- 29. svcutil.exe के लिए संदर्भ विकल्प क्यों नहीं है?
- 30. डब्ल्यूसीएफ
+1 देखें। ऐसा लगता है कि मैं क्या देख रहा था। क्या चैनलफैक्टरी एक सामान्य प्रॉक्सी क्लास की तरह App.config से सभी सेटिंग्स को पढ़ेगा? –
नोट: कॉल करने के लिए कॉलChannel कुछ ऐसा वापस करेगा जो IMyWcfService लागू करता है। इसमें बंद और निरस्त करने की विधियां नहीं होंगी - आपको उन्हें सीधे कारखाने –
पर कॉल करने की आवश्यकता है, चैनलफैक्टरी app.config से सेटिंग्स पढ़ेगी। मेरा मानना है कि ओवरलोड में से एक आपको यह निर्दिष्ट करने की अनुमति देता है कि किस क्लाइंट कॉन्फ़िगरेशन का नाम उपयोग करना है। आप पूरी तरह कॉन्फ़िगरेशन का उपयोग करने और अनदेखा करने के लिए चैनल के लिए बाइंडिंग में गुजरकर कोड में सबकुछ भी कर सकते हैं। क्लाइंट प्रॉक्सी (IMyWcfService) को बंद करने के संबंध में, आप इसे ICOMunicationObject पर डाल सकते हैं और उस ऑब्जेक्ट पर बंद() को कॉल कर सकते हैं। –