2013-02-21 21 views
15

TempData एएसपी.नेट एमवीसी फ्रेमवर्क (अधिक विशेष रूप से, एएसपी.नेट एमवीसी 2) में संग्रहीत किया जाता है? क्या यह सर्वर-साइड पर संग्रहीत है, या ग्राहक को भेजा जाता है?TempData कहां संग्रहीत किया जाता है?

उत्तर

14

डिफ़ॉल्ट रूप से TempData ASP.NET सत्र को स्टोरेज के रूप में उपयोग करता है। तो यह सर्वर पर संग्रहीत है (InProc डिफ़ॉल्ट है)। लेकिन आप अन्य एएसपी.NET सत्र राज्य मोड को परिभाषित कर सकते हैं: स्टेटसेवर और एसक्यूएल सर्वर। यदि आप ASP.NET सत्र का उपयोग नहीं करना चाहते हैं तो आप कस्टम टेम्पपडेटा प्रदाता भी लिख सकते हैं और स्टोरेज को स्वयं संभाल सकते हैं।

+0

आपको बहुत बहुत धन्यवाद। मैं एएसपी.NET सत्र राज्य मोड के बारे में और अधिक जांच करूंगा, यह मेरे लिए नया है। –

5

यह सत्र भंडारण में संग्रहीत किया जाता है, लेकिन वहाँ TempData और Session के बीच एक महत्वपूर्ण अंतर है: केवल उपयोगकर्ता के सत्र के लिए, तो यह केवल जब तक हम पढ़ा है यह बनी रहती है और हो जाता है

TempData उपलब्ध है एक HTTP अनुरोध के अंत में मंजूरी दे दी।

TempData के उपयोग को फिट करने वाला एक परिदृश्य तब होता है जब डेटा को दो अनुरोधों के बीच जारी रखने की आवश्यकता होती है - एक पुनर्निर्देशन परिदृश्य। एक और परिदृश्य मैं सोच सकता हूं कि पोस्ट ऑपरेशन विफल होने के बाद एक त्रुटि संदेश वापस करना है।

+0

धन्यवाद आदमी, मेरी इच्छा है कि मैं स्वीकार किए गए एक से अधिक उत्तरों का चयन कर सकूं। –

+1

* TempData केवल उपयोगकर्ता के सत्र के लिए उपलब्ध है, इसलिए यह तब तक जारी रहता है जब तक हम इसे पढ़ नहीं पाते हैं और HTTP अनुरोध के अंत में साफ़ हो जाते हैं। * सत्र HTTP अनुरोधों से अधिक समय तक रहता है। तो है * TempData केवल उपयोगकर्ता के सत्र के लिए उपलब्ध है * सही? –