2010-08-11 15 views
6

एएसपी.नेट प्रोफाइल कैसे वर्जनिंग को संभालता है? मुझे पता है क्योंकि डेटा क्रमबद्ध है यह एक समस्या हो सकती है जहां टेबल के साथ यह नहीं है।एएसपी.नेट प्रोफाइल संस्करण?

क्या यह किसी प्रकार की क्रमबद्धता त्रुटि को फेंक देगा?

उदाहरण: मैं प्रोफाइल में v1 ऑब्जेक्ट संग्रहीत करता हूं। मैं अपने वेब एप्लिकेशन को एक नए v2 संस्करण के साथ अपडेट करता हूं लेकिन डेटाबेस में अभी भी v1 ऑब्जेक्ट्स हैं।

जब मैं v1 ऑब्जेक्ट्स में v1 ऑब्जेक्ट्स को deserialize करने का प्रयास करता हूं तो क्या होगा? और इस समस्या के लिए सबसे अच्छे समाधान क्या हैं?

उत्तर

3

आम तौर पर एएसपी.नेट प्रोफाइल डेटा को संपत्ति बैग के रूप में मानता है - इसलिए यह संभवत: एक संपत्ति को छोड़ देगा (जिसे डेटा स्टोर में संग्रहीत किया गया है) लेकिन कॉन्फ़िगरेशन से हटा दिया गया है। इसी प्रकार, नई जुड़ी संपत्ति के लिए, यह डिफ़ॉल्ट मान का उपयोग करेगा। अब, गुणों का प्रकार भी मायने रखता है - अगर संपत्ति का प्रकार आपकी कस्टम क्लास है तो उसके सीरियलाइजेशन को एक्सएमएलएसरियललाइज़र या बाइनरीफॉर्मेटर द्वारा संभाला जाएगा। XmlSerializer एक डिफ़ॉल्ट है और इसका आमतौर पर एक सहिष्णु धारावाहिक (गायब गुण छोड़े जाएंगे आदि)। आप एक्सएमएल क्रमबद्धता को नियंत्रित करने के लिए विशेषताओं का उपयोग कर सकते हैं। बाइनरीफॉर्मेटर के मामले में, यह रनटाइम सीरियलाइजेशन के समान है और यदि आप वर्जनिंग का समर्थन करना चाहते हैं, तो यह सर्वोत्तम है कि आप आईएसरियलज़ेबल को कार्यान्वित करें और किसी भी संस्करण के मुद्दों को संभालें। मुझे यकीन नहीं है कि किसी ऐसे मामले में क्या होगा जहां आपके पास कुछ प्रकार की प्रोफाइल संपत्ति हो और फिर आप उस प्रकार को हटा दें। मेरा अनुमान है कि आपको एक त्रुटि मिलनी चाहिए लेकिन मैं इसके बारे में ceratin नहीं हूँ।

मैं आम तौर पर उपयोगकर्ता प्रोफ़ाइल सुविधा का समर्थन के लिए अपने खुद के कार्यान्वयन रोल करना पसंद करते हैं क्योंकि

    जैसे
  1. हालात संस्करण आदि मेरी पसंद
  2. दुकान और भंडारण स्कीमा की पसंद के अनुसार नियंत्रित किया जा सकता स्वतंत्र हो सकता है (इस कस्टम प्रोफ़ाइल प्रदाता द्वारा ASP.NET प्रोफाइल में संभव है)
  3. यह आसानी से स्तरित आवेदन और प्रोफ़ाइल डेटा में रखा जा सकता है भी उपलब्ध है किसी भी गैर-वेब ग्राहकों को अगर जरूरत
  4. हालांकि यह फिर से खोज करने पहिया और कुछ अतिरिक्त प्रयास, से अधिक 2-3 साल की शैल्फ जीवन है कि किसी भी सॉफ्टवेयर के लिए अपने लायक होने का मतलब है।
  5. मैं डेटा स्टोर से प्रोफ़ाइल डेटा को स्टोर/पुनर्प्राप्त करने के लिए ठीक से नियंत्रित कर सकता हूं।
संबंधित मुद्दे