2012-05-02 22 views
11

में व्यूस्टेट चंकिंग मैं इन शब्दों को "व्यूस्टेट चंकिंग" सुन रहा हूं। व्यूस्टेट चंकिंग क्या है?एएसपीनेट

और यह एएसपी.नेट पृष्ठों के लिए कैसे काम कर रहा है?

उत्तर

16

जब आपके पृष्ठ में व्यूस्टेट बहुत बड़ा हो जाता है तो यह समस्या हो सकती है क्योंकि कुछ फ़ायरवॉल और प्रॉक्सी विशाल व्यूस्टेट आकार वाले पृष्ठों तक पहुंच को रोक देंगे। इस उद्देश्य के लिए एएसपी.नेट ने व्यूस्टेट चंकिंग तंत्र पेश किया है। तो एएसपी.नेट वेब.कॉन्फिग सेक्शन में MaxPageStateFieldLength संपत्ति का उपयोग करके व्यूस्टेट के एकल छिपे हुए फ़ील्ड को कई में विभाजित करने में सक्षम बनाता है।

जब MaxPageStateFieldLength संपत्ति को सकारात्मक संख्या पर सेट किया गया है, क्लाइंट ब्राउज़र को भेजा गया दृश्य स्थिति कई छिपे हुए फ़ील्ड में विभाजित है।

MaxPageStateFieldLength गुण को ऋणात्मक संख्या (डिफ़ॉल्ट) पर सेट करना इंगित करता है कि दृश्य-स्थिति फ़ील्ड को टुकड़ों में विभाजित नहीं किया जाना चाहिए। MaxPageStateFieldLength को एक छोटी संख्या में सेट करने से खराब प्रदर्शन हो सकता है।

नमूना ViewState से पहले:

<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE"value="/wEPDwUKLTk2Njk3OTQxNg9kFgICAw9kFgICCQ88KwANAGQYAQUJR3Jp 
ZFZpZXcxD2dk4sjERFfnDXV/hMFGAL10HQUnZbk=" /> 

फिर web.config में सेट करें:

<pages maxPageStateFieldLength="40"> 

नमूना ViewState के बाद:

<input type="hidden" name="__VIEWSTATEFIELDCOUNT" id="__VIEWSTATEFIELDCOUNT"value="3" /> 
<input type="hidden" name="__VIEWSTATE" 
id="__VIEWSTATE" value="/wEPDwUKLTk2Njk3OTQxNg9kFgICAw9kFgICCQ88" /> 
<input type="hidden" name="__VIEWSTATE1" 
id="__VIEWSTATE1" value="KwANAGQYAQUJR3JpZFZpZXcxD2dk4sjERFfnDXV/" /> 
<input type="hidden" name="__VIEWSTATE2" 
id="__VIEWSTATE2" value="hMFGAL10HQUnZbk=" /> 

आशा है कि यह आपकी मदद!

+1

अच्छा स्पष्टीकरण, धन्यवाद – Sujit

+1

घटनाक्रम छुपा क्षेत्र भी बड़ा हो सकता है। यह भी बकवास करना संभव है? –

+0

कृपया ध्यान दें कि तत्व वेब.config में तत्व के अंदर बैठता है। – woohoo

4

What's New in ASP.NET State Management - MSDN

दृश्य राज्य डेटा की मात्रा बहुत बड़ा हो जाता है, तो से, दृश्य-राज्य बेडौल स्वचालित रूप से टुकड़ों में विभाजित डेटा और कई छिपे हुए प्रपत्र फ़ील्ड्स में डेटा डाल देंगे।

हमें व्यूस्टेट चंकिंग की आवश्यकता क्यों है?

यहाँ से ViewState Overivew - MSDN

एक exerpt एक और महत्वपूर्ण विचार है कि यदि एक छिपा क्षेत्र में डेटा की मात्रा बड़ा हो जाता है, कुछ प्रॉक्सी और फायरवॉल पेज है कि उन्हें शामिल करने पहुँच को रोकने जाएगा है। चूंकि अधिकतम राशि विभिन्न फ़ायरवॉल और प्रॉक्सी कार्यान्वयन के साथ भिन्न हो सकती है, इसलिए बड़े छिपा फ़ील्ड स्पोरैडिक समस्याएं पैदा कर सकते हैं। इस समस्या से बचने में मदद के लिए, यदि व्यूस्टेट प्रॉपर्टी में संग्रहीत डेटा की मात्रा पृष्ठ MaxPageStateFieldLength संपत्ति में निर्दिष्ट मान से अधिक है, तो पृष्ठ विभाजन आकार के नीचे प्रत्येक व्यक्तिगत फ़ील्ड के आकार को कम करने के लिए कई छिपे हुए फ़ील्ड में राज्य को विभाजित करता है कि फायरवॉल अस्वीकार करते हैं।

+0

@Downvoter टिप्पणी करने की देखभाल? – Habib