2010-11-07 10 views
6

मुझे एक बनाम दूसरे का उपयोग कब करना चाहिए? मैं स्टार्टअप पर एक निश्चित वस्तु को कैश करना चाहता हूं और एप्लिकेशन के चारों ओर पुन: उपयोग करना चाहता हूं। कौन सा बेहतर समाधान (व्यूडेटा या सत्र) की तरह लगता है?Asp.net-MVC में सत्र और व्यूडेटा के बीच क्या अंतर है?

उत्तर

12

ViewData देखने के लिए नियंत्रक से जानकारी भेजने के लिए इस्तेमाल एक प्रति अनुरोध वस्तु है।
प्रत्येक क्रिया मंगलाचरण का अपना ViewData हो जाता है; व्यूडाटा दृश्य से परे नहीं रहता है।

Session State प्रति-उपयोगकर्ता भंडारण कंटेनर (जो आप किसी विशिष्ट उपयोगकर्ता सत्र (एक कुकी द्वारा की पहचान)

आप एक वैश्विक वस्तु साझा करना चाहते हैं, तो आप शायद यह एक सिंगलटन करना चाहिए के लिए डाटा स्टोर करने की अनुमति देता है static संपत्ति में) या इसे एप्लिकेशन स्थिति में डाल दें।
यकीन है कि यह धागा सुरक्षित है सुनिश्चित करें। (या एक [ThreadStatic] क्षेत्र का उपयोग सावधानी से)

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