asp.net mvc 4 controller execute multiple ajax calls in parallel -
मेरे पास एक asp.net MVC 4 नियंत्रक thats विधियों को AJAX के माध्यम से कहा जाता है।
समस्या है कि एजेक्स अनुरोध नियंत्रक द्वारा क्रमिक रूप से नियंत्रित किया जाता है। यह पृष्ठ को लोड करने का समय के रूप में प्रदर्शन संबंधी समस्याएं होती है, सभी एजेक्स अनुरोधों का योग होता है और सबसे लंबा एजेक्स अनुरोध नहीं।
इसे प्रदर्शित करने के लिए, मैंने पहली बार ("ReadOverview8Week") विधि में एक ब्रेक पॉइंट लगाया । इन विधियों में से प्रत्येक को व्यक्तित्व निष्पादित करने के लिए ~ 600 एमएमएस लेता है।
मैं नियंत्रक को तीनों अनुरोधों को समानांतर में कैसे बना सकता हूं? मैं आईआईएस 8 का उपयोग कर रहा हूं।
यह एजेक्स अनुरोध (केंडो यूआई डेटासॉर्स से)
.डेटासोर्स (डेटासॉर्स = & gt; डेटाससोर्स.एजैक्स)। पढ़ें (पढ़ें = & Gt; read.Action ("ReadAllSitesOverview", "AbuseCase")। प्रकार (HttpVerbs.Get)) धन्यवाद।
आप जिस समस्या का सामना कर रहे हैं वह एएसपी.एन.टी. के सत्र के प्रबंध के कारण होता है। ( समवर्ती अनुरोध और सत्र राज्य अनुभाग): एएसपी.NET सत्र स्थिति तक पहुंच अनन्य प्रति सत्र है, जिसका अर्थ है कि अगर दो अलग-अलग उपयोगकर्ता समवर्ती अनुरोध करते हैं, तो प्रत्येक अलग सत्र तक पहुंच समवर्ती रूप से दी जाती है। दो समवर्ती अनुरोध उसी सत्र (उसी सत्र आईडी मान का उपयोग करके) के लिए किए जाते हैं, पहला अनुरोध सत्र की जानकारी तक अनन्य पहुंच प्राप्त करता है। दूसरा अनुरोध केवल पहले अनुरोध समाप्त होने के बाद ही कार्यान्वित होता है। < P> आप अपनी समस्या को हल कर सकते हैं यदि आपके कार्यों की आवश्यकता नहीं है सत्र तक पुनः पहुंच यदि ऐसा मामला है, तो आप विशेषता के साथ नियंत्रक को सजाने के लिए कर सकते हैं:
[सत्र का स्थान (सत्रः स्टेशनबाय। अक्षम)] इस तरह नियंत्रक के पास नहीं होगा सत्र का इंतजार करने के लिए।
यदि आपके कार्यों के लिए केवल सत्र तक पहुंच को पढ़ने की आवश्यकता है, तो आप सत्रस्थिति का उपयोग करने की कोशिश कर सकते हैं। केवल पढ़ने के लिए मान। इसके परिणामस्वरूप एक अनन्य ताला नहीं होगा, लेकिन अनुरोध को अभी भी एक पठन-लिखित अनुरोध द्वारा लॉक सेट के लिए इंतजार करना होगा।
Comments
Post a Comment