2011-03-02 10 views
5

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

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

वहाँ ASP.NET/आईआईएस में एक ही संसाधन के कई अनुरोधों के लिए एक अंतिम जीत की रणनीति लागू करने के लिए कोई रास्ता है? मुझे लगता है कि अनुरोधों को आंतरिक रूप से कतारबद्ध किया गया है, और मुझे जो चाहिए वह आईआईएस के लिए है जब यह अगले व्यक्ति को हटाने का प्रयास करता है, बस एक नज़र डालें कि क्या कुछ अन्य हैं और केवल उसी सत्र से आखिरी व्यक्ति की सेवा करते हैं।

उत्तर

1

मुझे पता है कि एएसपी आईआईएस पर आप isClientConnected के लिए परीक्षण और गर्भपात अगर क्लाइंट डिस्कनेक्ट किया था सकता है।

मेरा मानना ​​है कि अधिकांश प्लेटफॉर्म में कुछ समान होगा।

लेकिन मुझे नहीं पता कि यह AJAX के साथ कैसे काम करता है?

+0

HttpContext.Reponse वास्तव में यह संपत्ति है, ऐसा लगता है कि यह भी काम करता है :) –

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