मेरे पास एक ऐसा एप्लिकेशन है जिसमें कुछ नियंत्रक के कार्य धीमे तृतीय पक्ष वेब सेवाओं को बुलाते हैं। इन क्रियाओं को पृष्ठ से AJAX कॉल का उपयोग करने के लिए कहा जाता है।एएसपी.नेट एमवीसी: सत्र लॉक को कैसे रोकें?
मैं ASP.NET थ्रेड पूल को मुक्त करने के लिए async नियंत्रकों का उपयोग कर सकता हूं, यह बहुत अच्छा है। लेकिन सत्र के बारे में क्या? यदि मैं इनप्रोक सत्र का उपयोग करता हूं और "धीमी गति से कार्रवाई" के लिए अनुरोध किया गया है तो विशेष उपयोगकर्ता एप्लिकेशन को कोई अनुरोध नहीं कर सकता क्योंकि उसका सत्र पहले "धीमे" कॉल द्वारा लॉक किया गया है।
पीएचपी में एक विधि session_write_close()
जो मैं निम्नलिखित के रूप में उपयोग कर सकते हैं: सत्र डेटा के आधार पर
- उपयोगकर्ता का आमंत्रण स्वीकार कार्रवाई उपयोगकर्ता की
- चेक अधिकार धीमा करने के लिए नियंत्रक/कार्रवाई का उपयोग करने की
- यदि आवश्यक हो तो सत्र में कुछ लिखें
session_write_close()
पर कॉल करें। इस बिंदु सत्र से इस अनुरोध और उसी उपयोगकर्ता द्वारा किसी अन्य अनुरोध के द्वारा बंद कर दिया है उस तक पहुँच सकते- मेरी धीमी गति से कॉल करें (हो सकता है कुछ async तरह से)
मुझे पता है कि मैं सत्र स्थिति निष्क्रिय कर सकते हैं [SessionState]
विशेषता का उपयोग कर नियंत्रक स्तर पर, लेकिन यह समाधान नहीं है।
कोई विचार?
पढ़ने की कोशिश कोई निवेदन? –
यहां विवरण हैं: http://stackoverflow.com/questions/3666556/a-non-locking-in-process-asp-net-session-state-store और यहां एक और विषय मेरे समान प्रश्न पर: http: // stackoverflow.com/questions/2438493/the-whole-site-is-blocked-while-one-page-is-waiting-for-blocking-operation-php – artvolk
यहां एक अंतिम विवरण है: http://stackoverflow.com/ प्रश्न/362970 9/i-just-discover-why-all-asp-net-website-are-slow-and-i-am-try-to-work-out – artvolk