tl; डॉ:MvcSiteMapProvider से मेनू कभी कभी ही प्रस्तुत करना करने में विफल रहता के बाद एक आवेदन ऑनलाइन वापस आता है, भले ही कोड रन और मेनू एक पृष्ठ ताज़ा के बाद बना देता है।MvcSiteMapProvider पृष्ठ प्रस्तुत करने, कैश समस्या पर तैयार नहीं है?
मैं एक ASP.NET MVC 3 परियोजना में MvcSiteMapProvider उपयोग कर रहा हूँ, और कभी कभी ऑनलाइन करने के लिए ऑफ़लाइन से एप्लिकेशन स्विचिंग मेनू कुछ भी नहीं दिखाए जाएंगे (सर्वर के रूट में एक एक App_Offline.htm
फ़ाइल डालने और इसे हटाने के द्वारा) के बाद जब तक पृष्ठ ताज़ा नहीं हो जाता है।
मैं डेटाबेस से मेनू आइटम पूछने के लिए एक कस्टम डायनामिक नोडप्रोवाइडर का उपयोग कर रहा हूं, और फिर मेनू प्रस्तुत करता हूं। डिबगिंग करते समय, मैं देख सकता हूं कि यह कोड वास्तव में पृष्ठ लोड से पहले चल रहा है, लेकिन पृष्ठ पर कोई मेनू प्रस्तुत नहीं किया गया है। मेरे पास कैश कई घंटों तक सेट है, और कुछ क्रियाओं के बाद अमान्यता की अनुमति देने के लिए कस्टम कैश कुंजी का उपयोग कर रहा हूं।
दुर्भाग्य से मुझे लगातार यह पुन: उत्पन्न करने के लिए यह त्रुटि नहीं मिल सकती है। मैं कर सकता हूं हालांकि इसे अधिक बार पुन: पेश करने के लिए मिलता है यदि मैं डायनामिक नोडप्रोवाइडर के शीर्ष पर नींद जोड़ता हूं - यह 30+ सेकेंड की नींद के साथ 60-70% समय में विफल हो जाएगा। मेरा सबसे अच्छा अनुमान यह है कि इसे कैशिंग तंत्र के साथ करना है क्योंकि पर मेरी कैश अवधि निर्धारित करने के लिए लगता है ताकि कोई समस्या न हो और मेनू हमेशा पॉप हो जाए। हालांकि, निश्चित रूप से कहना मुश्किल है, क्योंकि समस्या को पिन करना मुश्किल है। इसे 0 पर छोड़कर प्रदर्शन ड्रैग के कारण स्वीकार्य समाधान नहीं होगा।
इस समस्या का मूल कारण क्या हो सकता है? क्या किसी ने इस व्यवहार को पहले या कामकाज देखा है?
मैं फिर से लिखने की उम्मीद करूँगा! – Joshua
2013 की शुरुआत में इसे शुरू करने की योजना है। और अभी के लिए, मैं शाप दे रहा हूं कि मैंने "अंतर्निहित लाइब्रेरी" मार्ग नहीं लिया। – maartenba
यह इस मुद्दे से संबंधित है कि कभी-कभी मेनू गलत नोड्स प्रस्तुत करता है? – 360Airwalk