मुझे लगता है कि मैं कभी भी POX नहीं जाऊंगा। यदि आप डब्ल्यूसीएफ लिखते हैं ताकि सेवा स्वयं बाध्यकारी और बाइंडिंग से स्वतंत्र हो, विन्यास फाइलों में किया जाता है, तो डब्ल्यूसीएफ परिवहन और प्रोटोकॉल के बारे में काफी अज्ञेयवादी है।यह एसओएपी, जेएसओएन, आरईएसटी, या बाइनरी सीरियलाइजेशन का अपना रूप कर सकता है। यह सब बाध्यकारी में है। आंतरिक रूप से, डब्ल्यूसीएफ केवल निर्दिष्ट करता है कि संचालन और डेटा अनुबंध (कक्षा, विधि, और संपत्ति विशेषताओं द्वारा परिभाषित सभी) के संदर्भ में क्या खुलासा होता है। 2010 में आने के साथ डब्ल्यूसीएफ आपको इस संबंध में जबरदस्त लचीलापन देता है।
सिल्वरलाइट पक्ष से, डब्ल्यूसीएफ की आवश्यकता है कि आप कुछ नलसाजी कोड लिखें। .NET Frameowrk में आपके सिल्वरलाइट प्रोजेक्ट में प्रॉक्सी बनाने के लिए टूल हैं, लेकिन आपको सभी डब्ल्यूसीएफ प्रतिक्रियाओं को असीमित रूप से संभालने के लिए तैयार होना चाहिए, और प्रॉक्सी सेवा द्वारा फेंकने वाले अपवादों को पकड़ नहीं सकता है।
.NET आरआईए सेवाएं ये सब छुपाती हैं। यह कवर के तहत डब्ल्यूसीएफ का उपयोग करता है, लेकिन यह पूरी तरह छुपा हुआ है। आपको एसिंक्रोनस कोड लिखना नहीं है। आप एक बार सत्यापन को परिभाषित करते हैं, ज्यादातर घोषणात्मक रूप से, और यह सर्वर-साइड और क्लाइंट-साइड दोनों काम करता है। रिलीज 1 को सिल्वरलाइट के लिए लक्षित किया जाएगा, इसलिए आपको कहीं और सेवा का उपयोग करने के लिए बहुमुखी प्रतिभा नहीं मिलती है। बाद में रिलीज में उस दायरे को विस्तारित किया जाना चाहिए।
मुझे तुलना करने के लिए ADO.NET डेटा सेवाओं के बारे में पर्याप्त जानकारी नहीं है। मुझे संदेह है कि उत्तर इस बात पर निर्भर करेगा कि आप सिल्वरलाइट उपयोग के मुकाबले अपने डेटा का खुलासा करना चाहते हैं या नहीं।
.NET आरआईए सेवाएं उस दिशा की तरह दिखती हैं जो मैं जाना चाहता हूं (इन मुद्दों को स्वयं ध्यान में रखते हुए, इन मुद्दों को ध्यान में रखते हुए)। मेरे लिए बड़े मुद्दे सेवा परत में कार्यक्षमता का एक बहुत बड़ा संग्रह लागू करेंगे, और सीधे डेटा एक्सेस परत पर कोड करने में सक्षम नहीं होंगे (हमें या तो SQL सर्वर या ओरेकल पर चलाने में सक्षम होना चाहिए)।
सिल्वरलाइट के बजाय WPF का उपयोग करके सब कुछ बदल जाता है, यह निर्भर करता है कि आपका डेटा कहां रहता है। यह Winforms बनाम एएसपी.NET के पुराने सवाल की तरह है। डब्ल्यूपीएफ के साथ, आप एक विंडोज क्लाइंट ऐप बना रहे हैं, और आपको किसी भी प्रकार के सेवा-आधारित डेटा इंटरफ़ेस का उपयोग करने की आवश्यकता नहीं है, जब तक कि आपकी डेटा एक्सेस आपको इसमें न ले जाए। आप अभी भी एमवीवीएम, एमवीसी, या एमवीपी का उपयोग कर प्रस्तुति कोड से डेटा और व्यापार को अलग करना चाहते हैं। इसके अलावा, आपके पास एक पूर्ण स्वतंत्र स्तर की बजाय डेटा पहुंच को एक परत के रूप में पेश करने का विकल्प होता है।
वास्तव में उपयोगी उदाहरण! इस उत्कृष्ट उत्तर के लिए धन्यवाद। –