2010-01-06 14 views
5

यहां मैं जो करने की कोशिश कर रहा हूं वह यहां है। मेरे पास एक ऐसी वेबसाइट है जो उपयोगकर्ताओं को उन अनुरोधों को सबमिट करने देती है जो जॉब्स तालिका में कतारबद्ध हैं जो सेवा उठाती है और प्रक्रिया करती है। मेरे पास तालिका में एक स्टेटस कॉलम है जो दर्शाता है कि अनुरोध प्रसंस्करण के लिए कतारबद्ध है या सेवा द्वारा संसाधित वर्तमान या सेवा ने सेवा को संसाधित कर लिया है। पूरी प्रक्रिया में कुछ मिनट लगते हैं।किसी वेब पेज से डेटाबेस को पोल करें? - एएसपी.नेट

मेरे पास एक स्थिति एएसपी.नेट पृष्ठ है जिसमें मुझे वास्तविक समय के आधार पर उनके अनुरोध की वर्तमान स्थिति दिखाना होगा। मैं किसी प्रकार की एनीमेशन प्रदर्शित करना चाहता हूं और वर्तमान स्थिति को इंगित करना चाहता हूं। एक तरीका यह है कि मैं ऐसा कर सकता हूं कि मेटा http प्रत्येक एक्स सेकेंड को रीफ्रेश करें जो अनुरोध की स्थिति की जांच करता है (मुझे लगता है कि एक्सपेडिया, प्रिसीलाइन जैसे साइटें यह करती हैं?)

मैं पूरी तरह से रोकना चाहता हूं पेज रीफ्रेश संभव है और AJAX/JQuery समाधान की तलाश में है। मैं इसे कैसे कार्यान्वित करूं? क्या सही दृष्टिकोण मतदान कर रहा है?

उत्तर

4

AJAX के माध्यम से मतदान आपकी आवश्यकताओं के लिए सबसे आसान और सरल है। यदि आप उस समय ऊपरी और निचली सीमाओं को जानते हैं तो मुझे लगता है कि शायद उस समय के लिए एनीमेशन चलाना होगा और फिर असाधारण मामले के लिए कुछ करें।

दूसरों एक ही किया है:

देखें: http://news.ycombinator.com/item?id=946165 और http://www.chrisharrison.net/projects/progressbars/ProgBarHarrison.pdf

+0

क्या आप इसे लागू करने के तरीके पर एक कोड नमूना को विस्तृत या इंगित कर सकते हैं? – Nick

+0

मतदान समाधान के लिए देखें: http://buntin.org/2008/09/23/jquery-polling-plugin/ यह चैट एप्लिकेशन के लिए है लेकिन आपकी आवश्यकताओं के लिए आसानी से अनुकूलित किया जा सकता है। –

0

मतदान का सबसे अच्छा तरीका है अगर आप वेब पेज सर्वर पर लगातार चलाने के लिए नहीं करना चाहती

हालांकि, शायद है ... कि अगर आप परेशान नहीं करता है, तो आप एक बार देख लेने के लिए चाहते हो सकता है एक [similar answer] पर मैंने एक और प्रश्न दिया जो आपको पृष्ठ को गतिशील रूप से अपडेट करने की अनुमति देता है ... ब्राउज़र समाप्त होने तक पृष्ठ को "लोडिंग" जारी रखने के लिए प्रतीत होता है।

0

आप अतुल्यकालिक में देखा है सर्वर से कहता है। यह आपको सर्वर में कॉल करने की अनुमति देगा और नतीजे की प्रतीक्षा नहीं करेगा, जब कॉल समाप्त हो जाएगा, तो क्लाइंट पेज पर एक विधि ट्रिगर की जाएगी, ऐसा लगता है कि आपको क्या चाहिए और आपके पास नहीं होगा

http://msdn.microsoft.com/en-us/magazine/cc163725.aspx

आशा इस मदद करता है: मतदान करने के लिए, अधिक जानकारी है।

+0

यदि प्रक्रिया सत्र समय से अधिक समय लेती है तो क्या मैं टाइमआउट में नहीं जाऊंगा? – Nick

0

आप "लंबे मतदान" को देखना चाहते हैं, जिसे धूमकेतु भी कहा जाता है।

विचार यह है कि आप क्लाइंट से एसिंक अजाक्स अनुरोध करते हैं। सर्वर की तरफ, आप कुछ स्थिति परिवर्तनों तक अनुरोध भेजते हैं (ताकि रिपोर्ट करने के लिए इसमें कुछ नया हो)। फिर आप अनुरोध जारी करते हैं, और यह अद्यतन जानकारी देता है।

यह शुद्ध मतदान पर एक लाभ है कि अनुरोध केवल तभी वापस आते हैं जब कुछ बदल गया हो। यह अधिक प्रतिक्रियाशील भी दिखाई दे सकता है, क्योंकि यह मुख्य रूप से सर्वर पक्ष द्वारा संचालित है।

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