WCF RIA सेवाएँ क्या है?


102

मुझे WCF RIA सेवाओं के लिए MSDN की साइट से नफरत है। यह नहीं कहता कि यह क्या है, यह केवल कहता है कि यह क्या करता है। यह कहता है कि यह क्या हासिल कर सकता है लेकिन यह नहीं कहता कि मुझे इसकी आवश्यकता क्यों है।

उदाहरण के लिए:

"एन-टियर आरआईए समाधान विकसित करते समय एक आम समस्या मध्य स्तरीय और प्रस्तुति स्तरीय के बीच अनुप्रयोग तर्क का समन्वय कर रही है"।

खैर, यह मेरे लिए ज्यादा मायने नहीं रखता है।

"RIA सेवाएँ इस समस्या को हल करती हैं फ्रेमवर्क घटक, उपकरण और सेवाएँ प्रदान करके, जो उस तर्क को RIA क्लाइंट के लिए सर्वर पर उपलब्ध करवाती हैं, जो आपको उस प्रोग्रामिंग लॉजिक को मैन्युअल रूप से डुप्लिकेट करने की आवश्यकता नहीं है। आप एक RIA क्लाइंट बना सकते हैं जो व्यावसायिक नियमों से अवगत है। और जानते हैं कि ग्राहक हर बार नवीनतम मध्य स्तरीय तर्क के साथ अद्यतन किया जाता है जो समाधान को फिर से संकलित किया जाता है। "

तो क्या यह सर्वर से DLL डाउनलोड करता है? क्या यह डेटा के नियमों का वर्णन करने वाला मेटाडेटा है?

तो यह क्या है? यह सिर्फ एक वी.एस. 2010 ऐड-ऑन राड के लिए है? या यह डब्ल्यूसीएफ के शीर्ष पर एक तकनीक है या इसके नीचे या क्या है? वो कहाँ रहता है? डेटा के साथ, सर्वर के साथ, क्या?

अगर आप मेरे लिए इसे संक्षेप में बता सकते हैं तो मैं सराहना करता हूं।


3
यह WCF के शीर्ष पर एक तकनीक है, जो कोड जनरेशन और सर्वर साइड और क्लाइंट साइड कोड दोनों का उपयोग करता है। यह मुख्य रूप से सर्वर से क्लाइंट को डेटा फेरबदल करने और सत्यापन और अन्य चीजों के साथ फिर से वापस करने पर केंद्रित है।
रंगोरिक

1
@ रैंगोरिक: आप उसे उत्तर के रूप में पोस्ट कर सकते हैं। छोटे उत्तर भी अच्छे उत्तर हो सकते हैं।
हेनक होल्टरमैन 15

7
आह, योग्य, मैंने इसे RIAA के रूप में गलत समझा , और साइको चला गया।
मतीन उल्हाक

यह जानना अच्छा है: RIA = रिच इंटरनेट एप्लीकेशन (सिल्वरलाइट के पतले ग्राहक), यहाँ अच्छी तरह से समझाया गया है । WCF RIA सेवाएँ WCF पर RIA सेवाएँ हैं, जो पतले क्लाइंट को सर्वर से जोड़ती हैं। " WCF RIA सेवाएँ Microsoft संरचित क्वेरी लैंग्वेज (SQL) सर्वर डेटाबेस से डेटा प्राप्त करती है और यह डेटा सिल्वरलाइट क्लाइंट को उपलब्ध कराती है जहाँ इसे संपादन और देखने के लिए प्रस्तुत किया जाता है "
mins

जवाबों:


109

आरआईए सेवाएं एक सर्वर-साइड तकनीक है जो क्लाइंट-साइड (सिल्वरलाइट) ऑब्जेक्ट को स्वचालित रूप से उत्पन्न करती है जो आपके लिए सर्वर के साथ संचार का ख्याल रखती है और क्लाइंट-साइड सत्यापन प्रदान करती है।

एक आरआईए सेवा के अंदर मुख्य वस्तु ए है DomainService, आमतौर पर LinqToEntitiesDomainServiceयह एक लिंक् टोटाइनेट्स मॉडल से जुड़ा होता है।

RIA सेवाओं में याद रखने वाली महत्वपूर्ण बात यह है कि यह मुख्य रूप से एक परिष्कृत बिल्ड ट्रिक है। जब आप एक डोमेन सेवा बनाते हैं और अपना समाधान संकलित करते हैं, तो आपकी डोमेन सेवा का एक क्लाइंट-साइड प्रतिनिधित्व उत्पन्न होता है। इस क्लाइंट-साइड प्रतिनिधित्व में एक ही इंटरफ़ेस है। मान लीजिए कि आप CustomerServiceएक विधि के साथ एक सर्वर-साइड डोमेन सेवा बनाते हैं IQueryable<Customer> GetCustomersByCountry। जब आप अपने समाधान का निर्माण करते हैं, तो आपके Silverlight प्रोजेक्ट के अंदर एक वर्ग उत्पन्न होता है जिसे CustomerContextएक विधि कहा जाता है GetCustomersByCountryQuery। अब आप क्लाइंट पर इस विधि का उपयोग कर सकते हैं जैसे कि आप इसे सर्वर पर कॉल कर रहे थे।

अपडेट, आवेषण और डिलीट एक अलग पैटर्न का पालन करते हैं। जब आप एक डोमेन सेवा बनाते हैं, तो आप यह इंगित कर सकते हैं कि क्या आप संपादन सक्षम करना चाहते हैं। अपडेट / इन्सर्ट / डिलीट करने की संबंधित विधियाँ तब सर्वर-साइड डोमेन सेवा में उत्पन्न होती हैं। हालाँकि, क्लाइंट-साइड भाग में ये विधियाँ नहीं हैं। आपके पास CustomerContextजो कुछ है, वह एक विधि है SubmitChanges। यह कैसे काम करता है:

  • अपडेट के लिए, आप बस मौजूदा ग्राहकों के गुणों को अपडेट करते हैं (जो आपने पुनः प्राप्त किया है GetCustomersByCountryQuery)।
  • आवेषण के लिए, आप उपयोग करते हैं CustomerContext.Customers.Add(new Customer(...) {...})
  • हटाने के लिए, आप उपयोग करते हैं CustomerContext.Customers.Remove(someCustomer)

जब आप संपादन कर लेते हैं, तो आप कॉल करते हैं CustomerContext.SubmitChanges()

सत्यापन के लिए, आप अपने सर्वर-साइड ऑब्जेक्ट को System.ComponentModel.DataAnnotationsनामस्थान से सत्यापन विशेषताओं के साथ सजा सकते हैं । दोबारा, जब आप अपनी परियोजना का निर्माण करते हैं, तो मान्य कोड अब स्वचालित रूप से संबंधित क्लाइंट-साइड ऑब्जेक्ट के लिए उत्पन्न होता है।

मुझे उम्मीद है कि यह स्पष्टीकरण आपको थोड़ा आगे बढ़ने में मदद करता है।


यह निश्चित रूप से करता है। इसे शेयर करने के लिए धन्यवाद। काश आप MSDN साइट को अपडेट कर सकते। अब, यदि मैं अपने डोमेन ऑब्जेक्ट में कोई संपत्ति जोड़ता हूं तो क्या होगा? क्या यह खुद को अपडेट करेगा?
अलीओस्ताद

मैंने अपडेट, आवेषण और हटाए जाने पर कुछ अतिरिक्त जानकारी जोड़ी।
रोनाल्ड वाइल्डबर्ग सेप

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.