asp.net mvc 2 - How does the session state work in MVC 2.0? -
मेरे पास एक नियंत्रक है जो विभिन्न सूचनाओं (यानी फॉर्मआईड, प्रश्नऐंस्वायर, आदि) को संग्रहीत करता है। वर्तमान में मैं उन्हें नियंत्रक में संग्रहीत कर रहा हूं। सत्र और यह ठीक काम करता है।
मैं एक अलग कक्षा (या नियम नियम) में कुछ तर्क को तोड़ना चाहता था, जहां मैं कुछ चेक आदि करता था, लेकिन जब मैं वहां सत्र की कोशिश करता हूं और संदर्भ देता हूं, यह शून्य है। यह स्पष्ट है कि सत्र केवल विशिष्ट नियंत्रक के संदर्भ में ही मान्य है, लेकिन यह सब क्या कर रहा है?
मुझे लगता है यह बहुत आम है, आप कुछ "वैश्विक" चर को साझा करना चाहते हैं विभिन्न नियंत्रकों, सबसे अच्छा अभ्यास क्या है?
यहां मेरे कोड का एक हिस्सा है:
मेरे बेस कंट्रोलर वर्ग में:
सार्वजनिक सूची & lt; प्रश्ननाम & gt; प्रश्ननाम ({{यदि (सत्र ["प्रश्नावली"] == शून्य) {सूची & lt; प्रश्ननाम & gt; QAnswers = qaRepository.GetQuestionAnswers (वर्तमान का पता, UserSmartFormID); सत्र ["प्रश्नावली"] = qAnswers; वापसी qAnswers; } और {वापसी (सूची & lt; प्रश्न Anscer & gt;) सत्र ["प्रश्नावली"]; }} सेट {सत्र ["प्रश्नावली"] = मान; }}
मेरे पहले नियंत्रक में (बेसकंट्रोलर से व्युत्पन्न):
प्रश्नावली = qaRepository.GetQuestionAnswers (वर्तमान का पता, UserSmartFormID); मैंने कोड के माध्यम से कदम रखा है और उपरोक्त कथन का निष्पादन ठीक है, सत्र ["प्रश्नावली"] सेट कर रहा है, लेकिन तब जब मैं नीचे दूसरे नियंत्रक से प्राप्त करने का प्रयास करता हूं, सत्र ["प्रश्नावली" ] शून्य है!
मेरा दूसरा नियंत्रक (यह भी बेसकंट्रोलर से प्राप्त होता है):
सूची & lt; प्रश्ननाम & gt; CurrentList = (सूची & lt; प्रश्ननाम & gt;) प्रश्न Answers;
उपरोक्त लाइन विफल हो जाती है! ऐसा लग रहा है कि सत्र ऑब्जेक्ट ही रिक्त है (न सिर्फ सत्र ["प्रश्नावली"])
यह करता है
HttpContext.Current.Session ("mySpecialSession") '' # नोट यह VB है, नहीं सी # कोड>
Comments
Post a Comment