2012-08-17 14 views
12

उत्पन्न करने के बाद से 2011sp1 ट्रिडियन प्रीकंपिल्ड कोर सेवा क्लाइंट के साथ आता है। क्या सेवा संदर्भ जोड़कर अभी भी अपनी प्रॉक्सी उत्पन्न करने का कोई कारण होगा? या क्या पुरानी विधि आधिकारिक तौर पर बहिष्कृत है?प्रीकंपिल्ड कोर सर्विस क्लाइंट बनाम अपनी खुद की प्रॉक्सी

+0

शायद "आधिकारिक तौर पर पदावनत" डालने जा सकता है जब सेवा संदर्भ उत्पन्न करने के लिए मुश्किल है, लेकिन हम निश्चित रूप से कुछ आम सहमति को देखने के लिए शुरू कर रहे हैं। :-) –

+0

यह सवाल का मुद्दा था, मुझे लगता है .. – Quirijn

उत्तर

13

के संकलित dll बनाम सेवा संदर्भ के फायदे पर एक नज़र डालें:

  • कोर सेवा से बढ़ रहा है और यह काफी एक समस्या है धीमी नेटवर्क पर सेवा संदर्भ संदर्भ उत्पन्न करने के लिए। बड़ी कोर सेवा सेवा संदर्भ उत्पन्न करने के लिए कठिन होगी (पाठ्यक्रम के कामकाज हैं)
  • संकलित डीएल "सही" सेटिंग्स का उपयोग करके संकलित किया गया है। ऐसे कुछ विकल्प हैं जिन्हें आप सेवा संदर्भ उत्पन्न करते समय सेट कर सकते हैं, जैसे रिटर्न प्रकार और प्रकार अन्य असेंबली से पुन: उपयोग किए जाते हैं। संकलित डीएलएल का उपयोग करके आप सुनिश्चित हैं कि आपको सब ठीक मिल जाए।
  • सेवा संदर्भ अपडेट करते समय आप app.config के साथ काफी गड़बड़ कर सकते हैं। मुझे लगता है कि अद्यतन डीएलएल और विन्यास थोड़ा आसान है।
  • यह आप LDAP या एसएसओ या HTTPS के लिए कॉन्फ़िगर थोड़ा दृढ़ता से
+1

स्पष्टीकरण के लिए धन्यवाद। मैंने अभी कुछ परीक्षण भी किया और पाया कि (कम से कम पढ़ने के कार्यों के लिए) precompiled क्लाइंट लगभग 8% तेज था। यह इसे सील करता है :) – Quirijn

+1

मैं जोड़ता हूं कि "शिप" प्रॉक्सी का उपयोग करके मानकीकरण का लाभ भी मिलता है। मैं प्रॉक्सी के खिलाफ कोड लिख सकता हूं, कोड किसी और को उपलब्ध करा सकता हूं, और वे इसका उपयोग कर सकते हैं। –

8

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

प्रीकंपील्ड कोरस क्लाइंट हमेशा नवीनतम एंडपॉइंट का उपयोग करता है। यदि आप पुराने एंडपॉइंट से हमेशा कनेक्ट करना चाहते हैं तो आपकी स्थिति के आधार पर आपको अपनी प्रॉक्सी उत्पन्न करने की आवश्यकता हो सकती है।

अन्यथा आप प्रीकंपिल्ड क्लाइंट का उपयोग कर सकते हैं जो सुनिश्चित करेगा कि आप नवीनतम एंडपॉइंट से कनेक्ट हो रहे हैं लेकिन यह आपके क्लाइंट को तोड़ सकता है (आपको कुछ ठीक करने या फिर से कंपाइल करने की आवश्यकता हो सकती है)।

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