6

मैं एएसपीनेट (3.5) वेब ऐप बनाने की प्रक्रिया में हूं और सोच रहा था कि क्या आप किसी भी तरह से जानते हैं कि मैं ऐसा कर सकता हूं ताकि कुछ ऑफलाइन हो कार्यक्षमता।ऑफ़लाइन कार्यक्षमता के साथ एक एएसपी.Net वेब ऐप बनाएं

यह आवश्यक है क्योंकि लोग अपने डिवाइस पर वेब ऐप को 'इंस्टॉल' करने में सक्षम होंगे (उदाहरण के लिए आईफोन पर 'होम स्क्रीन पर जोड़ें' फ़ंक्शन का उपयोग करके) और फिर ऑफ़लाइन होने पर ऐप का उपयोग करें; उपयोग केवल सीमित होगा (इस बिंदु पर सर्वर कॉल की आवश्यकता नहीं होगी)।

क्या यह एक .aspx पृष्ठ के साथ किया जा सकता है?

संपादित .manifest कहा:

CACHE MANIFEST 
index.aspx 

/logo.png 
/main.css 
/main.js 

संपादित no.2-

हम इसे ऑफ़लाइन काम कर, एक फैशन में है, यह सफारी में काम करता है लेकिन हम इसे सफारी में नहीं चाहते हैं, हम इसे एक स्टैंडअलोन ऐप के रूप में चाहते हैं। जब हम इसे इस तरह चलाने की कोशिश करते हैं तो हमें 'सर्वर त्रुटि से कनेक्ट नहीं किया जा सकता'। क्या यह एक .aspx पृष्ठ के साथ संभव है?

संपादित no.3 -

हम इस मिल गया है एक .html पृष्ठ का उपयोग कर काम करने के लिए, लेकिन अभी भी अभी तक नहीं एक .aspx

संपादित साथ

अब यह काम कर रहा है no.4-, हालांकि हम अनिश्चित हैं क्यों! हमने इंडेक्स.एएसपीएक्स को पिछले सप्ताह कैश.मैंफेस्ट के 'नेटवर्क' सेक्शन में जोड़ा था (जो पिछले हफ्ते काम नहीं करता था!) ​​जिसने मदद की हो सकती है, लेकिन एक बार मुझे यकीन है कि मैं वास्तव में जो हुआ उससे आपको अपडेट करूंगा!

आपकी मदद के लिए सभी को धन्यवाद!

+0

क्या फ़ाइल 'cache.manifest' (आईओएस आवश्यकता) है और इसकी प्रतिक्रिया प्रकार 'टेक्स्ट/कैश-मेनिफेस्ट' है? क्या आप वाकई उन संसाधनों पर 404 प्राप्त नहीं कर रहे हैं? –

+0

@pep Yep, फ़ाइल को 'cache.manifest' कहा जाता है और प्रतिक्रिया प्रकार भी 'टेक्स्ट/कैश-मैनिफेस्ट' होता है। हमने आईआईएस में एमआईएमई प्रकार भी सेट किया है। हमें कोई 404 नहीं मिल रहा है। यह बहुत भ्रमित है! – donpisci

+0

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

उत्तर

0

हां एएसपी.NET के साथ किया जा सकता है, क्योंकि क्लाइंट के ब्राउज़र और ऑफ़लाइन कार्यक्षमता में एक HTML पृष्ठ के रूप में एएसपी.NET प्रस्तुत करता है एक शुद्ध जावास्क्रिप्ट/एचटीएमएल कार्यक्षमता है। Here स्टीफन वाल्थर द्वारा एक लेख है जो इसे करने का एक तरीका दिखा रहा है।

+0

धन्यवाद- मैंने अभी एशक्स हैंडलर जोड़ने का प्रयास किया है, लेकिन मुझे अभी भी 'खोल नहीं सकता क्योंकि यह सर्वर से कनेक्ट नहीं हो सका' त्रुटि हो रही है। मैं अपनी प्रारंभिक पोस्ट को अपनी वर्तमान .manifest फ़ाइल के साथ अपडेट करूंगा क्योंकि शायद मैं थोड़ा सा सही नहीं हो सकता। – donpisci

1

ऐसा करने का एक तरीका - मुझे वास्तव में ऐसा करने का मौका नहीं मिला है- HTML5 की नई विशेषताओं में से एक का उपयोग करेगा: कैश मैनिफेस्ट।

आप इस यहाँ का एक बहुत अच्छा उदाहरण पढ़ सकते हैं: http://www.html5rocks.com/en/tutorials/appcache/beginner/

+0

इसके लिए धन्यवाद, मैं एक नज़र डालेगा। – donpisci

12

ASP.NET के साथ ऑफ़लाइन एचटीएमएल 5 अनुप्रयोगों के लिए, इस link और इस link देखते हैं।

ऑफ़लाइन कार्यक्षमताओं के लिए, वहाँ कुछ विकल्प हैं:

- आप ऑफ़लाइन आवेदन में डेटा की थोड़ी मात्रा स्टोर करने के लिए की जरूरत है, और सुरक्षा एक बड़ी चिंता नहीं है, आप एचटीएमएल 5 वेब संग्रहण (उपयोग कर सकते हैं link, link, link, link, link, और ब्राउज़र संस्करण समर्थन को समझने के लिए CanIUse पर एक नज़र डालें)।

मुख्य नुकसान यह है कि इसमें सुरक्षा की कमी है, महत्वपूर्ण मूल्य आधारित (कोई जटिल संरचना नहीं है) और स्टोरेज आकार (अधिकांश ब्राउज़रों के लिए 5 एमबी) में एक बड़ी सीमा है।


- आप डेटा के बड़ी राशि की जरूरत है, तो आप IndexDB (link, link, link और CanIUse) या वेब SQL (link, link, link और CanIUse ब्राउज़र समर्थन के लिए) देख सकते हैं।

वेब एसक्यूएल के मुख्य नुकसान यह है कि यह फ़ायरफ़ॉक्स द्वारा आईई समर्थित नहीं है। इसके अलावा, इसे डब्ल्यू 3 सी द्वारा बहिष्कृत किया गया है।

इंडेक्सडीबी अच्छा है (link), लेकिन ऐसा लगता है कि आईओएस अभी भी इसका समर्थन नहीं करता है (देखें IIUse)।

दृष्टिकोण 1 और 2 के लिए, आप अपने एएसपी.NET एप्लिकेशन (link) में एक उत्तरदायी डिज़ाइन या समर्पित मोबाइल वेबसाइट बना सकते हैं।


- (अधिक से अधिक लचीलेपन अधिक प्रयास की मांग) अपने ASP.NET अनुप्रयोग में एक वेब सेवा और कभी कभी कनेक्ट किए गए एप्लिकेशन की अवधारणाओं को लागू करने के लिए एक मोबाइल एप्लिकेशन (अधिक जानकारी: link, link) लागू

  • एएसपी.नेट वेब अनुप्रयोग => वेब एप्लिकेशन के लिए, ऑफ़लाइन कार्यक्षमता से संबंधित सेवाओं के साथ एक वेब सेवा का पर्दाफाश करें।

  • मोबाइल एप्लिकेशन => एप्लिकेशन के लिए डेटाबेस के साथ एक मूल मोबाइल ऐप लागू करें (उदाहरण के लिए, एंड्रॉइड और आईफोन के लिए एक ऐप विकसित करें)। फिर आप मोबाइल ऐप में ऑफ़लाइन कार्यक्षमता बनाते हैं जो ऑफ़लाइन उपलब्ध होने वाले डेटा को पढ़ने और लिखने के लिए अपने डेटाबेस का उपयोग करेगा (स्थानीय रूप से)।

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


उम्मीद है कि यह मदद करता है।

+1

आपकी प्रतिक्रिया के लिए धन्यवाद। हम किसी भी डेटा के लिए स्थानीय भंडारण का उपयोग कर रहे हैं, हालांकि उपयोगकर्ता की जरूरत है, हालांकि जब हम किसी डिवाइस पर वेब ऐप इंस्टॉल करते हैं और डिवाइस को हवाई जहाज मोड में डालते हैं तो हम ऐप लॉन्च करने में असमर्थ होते हैं। हमने एक .html पृष्ठ को डिफ़ॉल्ट पृष्ठ के रूप में उपयोग करने का प्रयास किया है और यह ठीक काम करता है, हालांकि .aspx पृष्ठ के साथ, यह वर्णित त्रुटि का सामना करता है। – donpisci

0

हां। ऐसा किया जा सकता है क्योंकि कैश मैनिफेस्ट का उपयोग करके दूसरों ने कहा है।

मैं क्या सुझाव दूंगा कि cache manifest उत्पन्न करने के लिए handler बना रहा है, जो गतिशील हो सकता है।

कैश मेनिफेस्ट फ़ाइल के बारे में दर्दनाक बात यह है कि जब तक कि फ़ाइल में परिवर्तन नहीं होता है, तो अपडेट नहीं होंगे। यह वह जगह है जहां हैंडलर आता है।कि

#2013-08-08 1:53:36 PM 'This is your comment section

के बाद एक टाइमस्टैम्प # टिप्पणी चरित्र के रूप में के साथ एक टिप्पणी अनुभाग जोड़ें और अपडेट इस हैंडलर द्वारा उत्पन्न होता है, तो जब प्रत्येक उपयोगकर्ता के पेज को अपडेट किया हो आप DB में स्टोर कर सकते हैं (यह निर्माण यह गतिशील एक कैश प्रकट का उपयोग करते समय, जबकि अभी भी यह कैशिंग)

एक महत्वपूर्ण बात को ध्यान में रखना:

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

+0

डाउनवोट क्यों? इसने सवाल का जवाब दिया और गहराई से कैसे चला गया –

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