ऐसे कुछ कारण है ऐसा कर सकते हैं:
स्वत: -उत्पादित मशीन कुंजी:
अपने अनुप्रयोग पूल में 20 मिनट के डिफ़ॉल्ट निष्क्रिय समयबाह्य है और आप स्वत: जनरेट सत्यापन उपयोग कर रहे हैं और डिक्रिप्शन कुंजी तब प्रत्येक बार जब पूल शुरू होता है तो यह चाबियों का एक नया सेट उत्पन्न करेगा। यह ब्राउज़र के एन्क्रिप्टेड व्यूस्टेट को अमान्य करता है। आप यह भी पाएंगे कि निरंतर टिकटों के लिए फॉर्म प्रमाणीकरण टिकट भी अमान्य हो जाएंगे।
में तय मूल्यों के लिए इन कुंजियों इस सेट पर काबू पाने के लिए:
`c:\%systemroot%\microsoft.net\framework\v2.0.50727\CONFIG\machine.config`
आप <system.web>
अनुभाग के लिए <machineKey>
विन्यास तत्व जोड़ने के लिए की जरूरत है। "Web Farm Deployment Considerations" पर अनुभाग में नीचे
How To: Configure MachineKey in ASP.NET 2.0
स्क्रॉल करें और क्रिप्टोग्राफी द्वारा रैंडम कुंजी उत्पन्न: एक बहुत अच्छा यहाँ लेख में बताया गया है कि ऐसा करने के तरीके नहीं है।
यदि आप लोड संतुलित वेब फार्म चला रहे हैं तो आपको प्रत्येक सर्वर की मशीन कुंजी को बिल्कुल उसी मान पर सेट करने की आवश्यकता है।
गलत रूप action
मूल्य (3.5SP1):
वहाँ भी एक मामले (पोस्ट 3.5SP1) यदि आप पृष्ठ के अलावा कुछ करने के लिए अपने ASP.NET फार्म के action
विशेषता निर्धारित जहां वापस तैनात की जा रही है और आप क्रॉसपेज पोस्टबैक का उपयोग नहीं कर रहे हैं तो आपको यह त्रुटि मिल जाएगी। लेकिन आप इस तुरंत देखना चाहते हैं:
Validation of viewstate MAC failed after installing .NET 3.5 SP1
समय/लांग रनिंग पन्ने:
वहाँ भी है कि पृष्ठों में लंबा समय लग जहां अगर रेंडर करने के लिए के लिए एक बढ़त मामले पृष्ठ आंशिक रूप से प्रस्तुत किया गया है और एक पोस्टबैक होता है:
Validation of viewstate MAC failed error
रूट कारण यह अपवाद प्रकट होता है क्योंकि DataKeyNames का उपयोग करके नियंत्रण एन्क्रिप्टेड होने के लिए व्यूस्टेट की आवश्यकता होती है। Viewstate एन्क्रिप्टेड है जब (डिफ़ॉल्ट मोड, ऑटो, अगर नियंत्रण कि आवश्यकता एन्क्रिप्ट करने के लिए, नहीं तो नहीं है), पृष्ठ सिर्फ टैग के बंद करने से पहले क्षेत्र कहते हैं।लेकिन इस छिपे हुए क्षेत्र को लंबे समय से चलने वाले पृष्ठों के साथ ब्राउज़र, और पर प्रस्तुत नहीं किया गया हो सकता है, यदि आप इससे पहले कोई पोस्टबैक करते हैं, ब्राउज़र इस क्षेत्र (फॉर्म पोस्ट संग्रह में) के बिना पोस्टबैक शुरू करता है। अंतिम परिणाम यह है कि यदि यह फ़ील्ड पोस्टबैक पर छोड़ा गया है, तो पृष्ठ नहीं जानता है कि व्यूस्टेट एन्क्रिप्ट किया गया है और उपर्युक्त अपवाद का कारण बनता है। आईई। पृष्ठ पोस्टबैक करने से पहले पूरी तरह से लोड होने की उम्मीद है।
खुशी है कि आप काम कर रहे हैं, मैंने कभी निष्क्रिय समय के बारे में सोचा नहीं और माना कि यह एक समझदार मूल्य होगा। वैसे भी मुझे प्रयास के लिए अपवित्रता मिलती है? :) – Kev
हाहा यकीन है, आपकी मदद के लिए धन्यवाद! – Curt
हमम क्या आप अपना उत्तर संपादित करने का प्रयास कर सकते हैं? यह इसके संपादित होने तक बंद कर देता है, फिर मैं वोट कर सकता हूं: एस – Curt