2010-07-13 5 views
6

क्या सबसे अच्छा, कुशल और तेज़ तरीका एक मौजूदा (वर्ग) पुस्तकालय (जो मुख्य रूप से CRUD संचालन को परिभाषित करता है) एक सेवा के रूप में बेनकाब करने के लिए है (WCF सेवा या WCF डाटा सेवा), इतना है कि यह साथ सिल्वरलाइट या अजाक्स इस्तेमाल किया जा सकता। क्या उपकरण (कोड जेनरेटर, आरएडी टूल्स) हैं, जो इसका समर्थन कर सकते हैं? आपकी मदद और संकेतों के लिए अग्रिम धन्यवाद।एक .NET वर्ग पुस्तकालय (जो मुख्य रूप से CRUD संचालन को परिभाषित करता है) एक सेवा के रूप उजागर

उत्तर

2

सबसे अच्छा तरीका WCF उपयोग करने के लिए एक आवरण अपने आप को तैयार करना है।

आप इस, बल्कि कुछ स्वचालन का उपयोग कर बस पुस्तकालय का पर्दाफाश करने के लिए सीधे क्योंकि तुलना करना चाहिए:

  • सुरक्षा, आप चाहते हैं पुस्तकालय किसी भी समय पर कुछ भी कॉल करने के लिए किसी को भी?
  • अधिकांश पुस्तकालयों मान वे सीधे बल्कि एक सेवा (fallacies of enterprise development देखें) से अधिक की तुलना में कहा जाता है।
  • WCF डिफ़ॉल्ट राज्यविहीन कर रहा है: आप कैसे किसी भी राज्य पुस्तकालय मानता प्रबंधन करने के लिए बाहर काम करने की जरूरत है (यदि आप अब एक भी ग्राहक होगा)।
  • क्या मैंने सुरक्षा का जिक्र किया?
1

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

आप अपनी कक्षा में वास्तविक तर्क है तो आप मुसीबत में हैं। सिल्वरलाइट ऐप्स के साथ व्यावसायिक तर्क साझा करने का कोई अच्छा तरीका नहीं है। वे आरआईए सेवाओं के साथ प्रयास करते हैं, लेकिन यह सिर्फ ग्रेड नहीं बनाता है।

1

आप WCF डेटा सेवाओं पर एक नज़र रखना चाहिए, विशेष रूप से नेट 4 में आप IQueryable उजागर और लागू करने IUpdatable साथ, आप ऐसी कर सकते हैं के साथ अपने संस्थाओं का पर्दाफाश करने के डेटा संदर्भ वर्ग या वर्गों बनाना होगा जबकि सहायक डेटावर्क का लाभ उठाएं जो डब्ल्यूसीएफ डाटा सर्विसेज आपके डेटा पेलोड के लिए मानकीकृत प्रोटोकॉल (ओडाटा) के साथ प्रदान करता है।

.NET 4 और विजुअल स्टूडियो 2010 में, WCF डेटा सेवाओं में स्वीकार होते जा रहे हैं, और सिल्वरलाइट अनुप्रयोगों के लिए एक अच्छा डेटा का उपयोग वाहन के रूप में माइक्रोसॉफ्ट द्वारा धक्का दिया जा रहा है।

मुझे लगता है कि यह कम से कम जांच करने लायक है। एमएसडीएन पर इसके बारे में बहुत सारी जानकारी है, हालांकि मुझे नहीं लगता कि यह जगहों पर बहुत अच्छी तरह व्यवस्थित है। अंतर्निहित प्रतिबिंब प्रदाता का उपयोग करके अपनी स्वयं की डब्ल्यूसीएफ डेटा सेवा को रोल करने पर एमएसडीएन में सेक्शन में link है। (उदाहरण केवल डेटा पुनर्प्राप्ति दिखाता है क्योंकि यह डेटा अपडेट/आवेषण/हटाना से कहीं अधिक सरल है, लेकिन IUpdatable को कार्यान्वित करने के तरीके पर आलेख में एक लिंक है।)

डब्ल्यूसीएफ डेटा सेवाओं के माध्यम से खुला IQueryable प्राप्त करना बहुत तेज़ होना चाहिए। IUpdatable थोड़ा और समय लेगा (क्योंकि आपको प्रत्येक इकाई के लिए सम्मिलन/अद्यतन/हटाएं लागू करने की आवश्यकता है)। लेकिन एक बार जब आप इसे प्राप्त करते हैं और चलते हैं (जो बहुत अधिक समय नहीं लेना चाहिए), तो आप सुरक्षा सेटिंग्स को बदल सकते हैं, कस्टम सेवा विधियां जोड़ सकते हैं, और अतिरिक्त कार्यक्षमता और/या इकाइयों को आसानी से जोड़ सकते हैं। आप जो वर्णन कर रहे हैं उसके लिए यह एक अच्छा ढांचा है।

मुझे आशा है कि इस मदद करता है।

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