6

मुझे अपनी कंपनी की वेब ऐप ऑफ़लाइन उपलब्ध कराने के लिए काम सौंपा गया है। वास्तविक विकास चरण में जाने से पहले, मैं यह सुनिश्चित करना चाहता हूं कि मेरी वर्तमान रणनीति एक बस्ट नहीं बन जाएगी।एएसपी.Net (सी #) वेब ऐप उपलब्ध ऑफ़लाइन

मैंने पहली बार एचटीएमएल 5 ऐप कैश का उपयोग करने के बारे में सोचा लेकिन कुछ परीक्षण करने के बाद मुझे लगता है कि ऐसा लगता है कि यह सर्वर साइड ऑपरेशंस को कैश नहीं करता है लेकिन वास्तविक एचटीएमएल जो प्रस्तुत किया जाता है (अगर मैं गलत हूं तो कृपया मुझे सही करें)। यह काम नहीं करेगा क्योंकि प्रस्तुत एचटीएमएल इस बात पर निर्भर करता है कि वर्तमान में कौन लॉग इन है। मेरे परीक्षणों से, यह हमेशा एचटीएमएल प्रस्तुत करता है जैसे लॉग इन (ऑनलाइन) लॉग इन करने वाला अंतिम व्यक्ति लॉग इन कर रहा है।

मेरी वर्तमान रणनीति यह है: मैं प्रत्येक एएसपीएक्स पेज के अनुरूप केवल लॉगिन पृष्ठ और ऑफ़लाइन (.html) पृष्ठ कैश करता हूं जिसे ऑफ़लाइन उपलब्ध होने की आवश्यकता होगी। प्रत्येक सफल लॉगिन (ऑनलाइन) वेब SQL डेटाबेस या इंडेक्सडीबी (ब्राउजर के आधार पर) को बनाने या अपडेट करने के परिणामस्वरूप उस व्यक्ति के लिए ऑफ़लाइन काम करने के लिए आवश्यक सभी डेटा के साथ लॉग इन क्रेडेंशियल्स के लिए उपयोग किया जाएगा। इस तरह ऑफ़लाइन लॉग इन करने की एकमात्र आवश्यकता कम से कम एक बार आपके लॉगिन प्रमाण-पत्रों के साथ लॉग इन कर रही है।

मेरी चिंता यह है कि मैं इसे अधिक जटिल बना रहा हूं। इस काम को करने के लिए, मुझे प्रत्येक मौजूदा पृष्ठ (बहुत सारे पेज) के लिए एक HTML पृष्ठ बनाना होगा और मुझे जावास्क्रिप्ट में सर्वर पर वर्तमान में किए जा रहे सभी चीज़ों को फिर से लिखना होगा, जिसमें सत्यापन, डेटाबेस कॉल, पॉपुलटिंग नियंत्रण शामिल हैं जैसे ड्रॉपडाउन सूचियां और डेटा ग्रिड, इत्यादि। भविष्य में जो कुछ भी मैं बदलता हूं उसे बाद में ऑफ़लाइन परिवर्तन की आवश्यकता होगी।

क्या मैं ऐसा करने की कोशिश कर रहा हूं कि मैं ऐसा करने की कोशिश कर रहा हूं या मैं नई जमीन में प्रवेश कर रहा हूं?

+0

मैं कोई विशेषज्ञ यहाँ हूँ, लेकिन जैसे आप विभिन्न उपयोगकर्ताओं को अपनी साइट में लॉग इन करने की जरूरत है यह लग रहा है, से सभी एक ही ब्राउज़र सत्र और सभी डिस्कनेक्ट? यह एक कठिन परिदृश्य की तरह लगता है जिसके लिए आपको अपने क्लाइंट पर उपयोगकर्ता नाम और पासवर्ड कैश करना होगा। शायद एक खतरनाक अभ्यास। – andleer

+0

आपके उत्तर के लिए धन्यवाद। अगर मैं आपको सही ढंग से समझ रहा हूं, तो मुझे लगता है कि आप मेरी रणनीति को गलत समझ रहे हैं। यह योजना किसी भी व्यक्ति को ऑनलाइन मोड में लॉग इन करने की अनुमति देना है जो बाद में ऑफलाइन मोड में काम करती है। ऐप के लिए सामान्य मामला यह है कि मैं मोबाइल डिवाइस (आईफोन, डायरॉइड, टैबलेट इत्यादि) पर फोरमैन द्वारा एक्सेस किया जाएगा, इसलिए आमतौर पर वही व्यक्ति उसी डिवाइस का उपयोग करेगा। क्या आप कह रहे हैं कि वेब एसक्यूएल या इंडेक्सडीबी के माध्यम से पासवर्ड संग्रह करना खतरनाक अभ्यास है? यदि हां, तो क्यों? –

+1

निश्चित रूप से क्लाइंट पर उपयोगकर्ता नाम और पासवर्ड संग्रहीत करना एक ही समय में अच्छा अभ्यास नहीं हो सकता है, जो कि जेम्स को हल करने के लिए वास्तविक समस्या प्रतीत होती है। आदर्श रूप से जब अंतिम उपयोगकर्ता ऑफ़लाइन सिस्टम तक पहुंच प्राप्त करना चाहते हैं, तो उन्हें ऑनलाइन प्रमाणित करने की आवश्यकता होती है और अपना काम ऑफ़लाइन जारी रखता है और ऑनलाइन सिंक्रनाइज़ करता है। मैं चांदी की तरह कुछ उपयोग करने के बारे में सोचूंगा, लेकिन चांदी के प्रकाश तक पहुंचने वाले ग्राहकों के मामले में एक समस्या प्रतीत होती है, इसलिए पृथक भंडारण एकमात्र विकल्प है। –

उत्तर

3

कृपया इन लिंक का संदर्भ लें, जो आपको प्राप्त करने के बारे में कुछ जानकारी देता है। मुझे यकीन नहीं है कि ये सर्वोत्तम प्रथाएं हैं, लेकिन ये अच्छी शुरुआत बिंदु होगी।

http://www.c-sharpcorner.com/UploadFile/aravindbenator/offline-mvc3-application/ http://www.developerfusion.com/article/84438/isolated-storage/

+0

इस उत्तर के लिए शिवा धन्यवाद। मैं अलग भंडारण में आगे देखने की उम्मीद कर रहा हूं क्योंकि ऐसा लगता है कि यह एक अच्छा उपकरण होगा। सी-तीक्ष्णक पर जिस मॉडल को आपने इंगित किया है वह मॉडल मेरे मूल प्रश्न में उल्लिखित रणनीति को लागू करने के लिए एक अच्छा मॉडल जैसा प्रतीत होता है। क्या यह आपकी राय है कि प्रत्येक ऑनलाइन एएसपीएक्स फ़ाइल के अनुरूप एक ऑफ़लाइन एचटीएमएल फाइल कैश करना सबसे अच्छा समाधान है? –