मैं एक समस्या में भाग गया जहां मेरे पास एक HTML.DropDownList था जो मेरे विचार में पहली बार चयनित फॉर्म को पोस्टबैक करेगा, लेकिन प्रत्येक बाद के पोस्टबैक केवल प्रारंभिक पोस्टबैक से डेटा पोस्ट करेगा। इसलिए मैंने घटक तत्व में जीवनशैली = "क्षणिक" जोड़ा जहां मैंने महल विंडसर के लिए अपने नियंत्रक को कॉन्फ़िगर किया था, जिसने समस्या को ठीक किया था, लेकिन निश्चित रूप से पोस्टबैक लंबे समय तक लेते हैं क्योंकि प्रति अनुरोध एक नए नियंत्रक को तत्काल चालू किया जा रहा था। ऊपर दी गई जानकारी को देखते हुए, अंतर्दृष्टि, सुझाव, या समाधान नियंत्रक जीवनशैली के बारे में मेरा मूल प्रश्न निर्धारित करने में मदद कर सकते हैं? सभी मदद और समर्थन के लिए धन्यवाद!एएसपी.नेट एमवीसी के लिए विंडसर कॉन्फ़िगरेशन में नियंत्रक जीवनशैली हमेशा क्षणिक होनी चाहिए?
उत्तर
एमवीसी नियंत्रक क्षणिक हैं। इसके बारे में सोचकर, यह कुछ कारणों से समझ में आता है। सबसे पहले, यदि एकाधिक अनुरोधों की सेवा के लिए एक एकल उदाहरण का उपयोग किया जाता है और यदि एक ही समय में एक ही नियंत्रक को मारने के लिए एकाधिक अनुरोध होते हैं, तो आपको कुछ काफी विचित्र दौड़ स्थितियों का अनुभव करने जा रहे हैं। दूसरा, HTTP अपने स्वभाव से स्टेटलेस है, और अनुरोध एक-दूसरे से स्वतंत्र रूप से मौजूद हैं। यह नियंत्रकों की क्षणिक जीवनशैली में परिलक्षित होता है।
क्षणिक, हाँ, लेकिन ब्याज के लिए, क्षणिक के बजाय PerWebRequest क्यों नहीं? मैंने कुछ ब्लॉग देखे हैं जो PerWebRequest लाइफस्टाइल का उपयोग करते हैं और मैं ऐसा क्यों नहीं सोच सकता कि क्यों नहीं। कोई जवाब?
मैं डीओन से सहमत हूं। यहां इस प्रश्न के समाधान की तलाश में लैंडेड। ऐसा लगता है कि PerWebRequest
अधिक उपयुक्त है।
एमवीसी और वेबएपी में अपने कंटेनर को एकीकृत करने के तरीके के आधार पर, हो सकता है कि आप विंडसर को निर्भरता जारी करने के निर्देश नहीं दे रहे हों जब आपके नियंत्रक का अब और उपयोग नहीं किया जा रहा हो।
आप PerWebRequest
के लिए सेट है, यह स्वचालित रूप से आपके नियंत्रक, और अपने सभी निर्भरता जब अनुरोध
समाप्त होता है LOL जारी करेंगे। मैं शायद उस पर विचार किए बिना उस पर विचार कर रहा था। अंतर्दृष्टि के लिए धन्यवाद। मेरे प्रश्न के लिए शायद और स्पष्ट हाँ, लेकिन मैं समाधान का एहसास करने के लिए विंडसर बॉक्स के अंदर बहुत ज्यादा सोच रहा था। आपका बहुत बहुत धन्यवाद! – mkelley33
यह इंगित करने लायक हो सकता है कि जीवनशैली को परिभाषित किए बिना, "सिंगलटन" का डिफ़ॉल्ट उपयोग किया जाएगा। कोई आश्चर्य नहीं कि मुद्दों का कारण होगा। – Ted