मेरे पास कुछ उत्पादन रनटाइम त्रुटियां हैं जो मैं पूरी तरह समझ नहीं पा रहा हूं। यह हमारे साथ कुछ अलग एएसपी.NET 4.0 वेब साइट्स (shudders पर हुआ है - हाँ, मुझे पता है - हम इसे एमवीसी पर पोर्ट कर रहे हैं लेकिन इसमें कुछ समय लग रहा है)।साइटमैप यादृच्छिक रूप से समय के साथ टूटता है
सबसे पहले, हम कभी भी इस मुद्दे को विकास/क्यूए वातावरण में पुन: उत्पन्न करने में सक्षम नहीं हुए हैं। दूसरा, तैनाती पर, यह मुद्दा अस्तित्व में प्रतीत होता है। कभी-कभी समस्या एक या दो तैनाती के भीतर प्रकट होती है और दूसरी बार तैनाती बिना किसी महीने के रहने के लिए रहती है। हालांकि, एक बार यह प्रकट होता है, तो वेब साइट के नीचे देखा गया कोई भी पृष्ठ त्रुटि का कारण बनता है। आखिरकार, यह समस्या तब सामने आई जब हम .NET 4.0 पर माइग्रेट हो गए। हमने 2.0 साल की शुरुआत की, जो एक साल पहले 3.5 तक बढ़ी थी, और हाल ही में इस समाधान और अधिकांश बाल परियोजनाओं के साथ 4.0 तक पहुंच गई।
त्रुटि: Could not find the sitemap node with URL '~/Default.aspx'.
हमारे साइटमैप का एक सरलीकृत संस्करण (कुछ नामों के साथ बदल गया है और अरुचिकर नोड्स हटाया) निम्नानुसार है:
<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0">
<siteMapNode roles="*" title="EG">
<siteMapNode url="~/../SM/Default.aspx" title="Welcome" description="" roles="*" />
<siteMapNode url="~/../SD/Default.aspx" title="SD" description="" roles="*" />
<siteMapNode url="~/../SMD/Default.aspx" title="SMD" description="" roles="*" />
<siteMapNode url="~/Default.aspx" title="Ops" description="" roles="*" >
<siteMapNode url="~/Error.aspx" title="Error" hide="true" roles="*" />
<siteMapNode url="~/Public/Login.aspx" hide="true" roles="*" />
<siteMapNode url="~/Manager/LPCE.aspx" title="LPCE" description="" roles="Administrator, Manager, System, Marketer" imageUrl="~/../SM/images/icons/LF.jpg" />
</siteMapNode>
<siteMapNode url="~/../SDD/Default.aspx" title="SDD" description="" roles="*" />
<siteMapNode url="~/../CCD/Default.aspx" title="CCD" description="" roles="*" />
<siteMapNode url="~/../RD/Default.aspx" title="RD" description="" roles="*"/>
<siteMapNode url="~/../SBD/Default.aspx" title="SBD" description="" roles="*" />
</siteMapNode>
</siteMap>
इससे हमारे web.config में पंजीकृत है:
<siteMap defaultProvider="SDXmlSiteMapProvider" enabled="true">
<providers>
<add name="SDXmlSiteMapProvider" type="System.Web.XmlSiteMapProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" siteMapFile="web.sitemap" securityTrimmingEnabled="true" />
<add name="SecurityDisabledSiteMapProvider" type="System.Web.XmlSiteMapProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" siteMapFile="web.sitemap" securityTrimmingEnabled="false" />
</providers>
</siteMap>
और लॉग से मैंने आधार वर्ग में त्रुटि का कारण बन गया है जो हमारे सभी पी उम्र निकाले जाते हैं से:
private void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack)
{
SiteMapDataSource.StartingNodeUrl = "~/Default.aspx";
}
}
साइटमैप के सभी में की पुष्टि की है url = "~/Default.aspx" भूमिकाओं के साथ साथ एक नोड है कि वहाँ = "*" (जो सार्वजनिक/गुमनाम उपयोग भी शामिल है), इसलिए मैं बहुत उलझन में हूं कि यह समस्या क्यों होती है।
समस्याओं पर विचार किया है मैं:
- साइट मैप Default.aspx के लिए एक नोड नहीं है। उनमें से सभी करते हैं।
- साइटमैप का Default.aspx नोड वर्तमान उपयोगकर्ता/भूमिका के सुरक्षा कारणों से सुलभ नहीं है। वे सभी अज्ञात उपयोगकर्ताओं के लिए सुलभ हैं और यह समस्या सुपर व्यवस्थापक उपयोगकर्ताओं के लिए भी मौजूद है।
- उत्तीर्ण यूआरएल में क्वेरीस्ट्रिंग्स (Default.aspx? Abcd) शामिल हैं। मुझे नहीं पता कि यह एक समस्या है (मुझे यकीन है कि यह उम्मीद नहीं करेगा) लेकिन एक बार जब समस्या स्वयं प्रकट होती है, तो मैं बिना क्वेरीस्ट्रिंग वाले यूआरएल को हस्तलेखित कर सकता हूं और समस्या अभी भी मौजूद है।
- साइटमैप परिवर्तन। यह
- साइटमैप फ़ाइल में सेवा की अनुमतियां नहीं है। साइटमैप तैनाती के बाद पूरी तरह से ठीक काम करता है, इसलिए जब तक IISRESET ठीक नहीं करता है, तो यह अनुमति नहीं है, तो यह कोई समस्या नहीं है।
- कार्यकर्ता प्रक्रिया विश्व स्तर पर भ्रष्ट हो जाती है। मुझे ऐसा नहीं लगता है। हमारे पास एक ही ऐप पूल में ~ 12 वेब साइटें हैं और समस्या हमेशा एक ही वेबसाइट के भीतर ही सीमित रहती है। साथ ही, हमने अभी तक एक ही वेबसाइट पर एक से अधिक वेबसाइटों के साथ ऐसा नहीं किया है, हालांकि यह अब तक 4 अलग-अलग लोगों में प्रकट हुआ है।
क्या कोई इस पर कुछ प्रकाश डाल सकता है? ऐसा लगता है कि गतिशील रूप से संकलित साइटमैप दूषित हो गया है या कुछ। मुझे मिला एकमात्र संकल्प IISRESET
या समतुल्य है। और फिर भी, इस बारे में कोई जानकारी नहीं है कि समस्या का समाधान कब तक किया जाएगा। यह बहुत निराशाजनक है!
यह किस सर्वर पर होस्ट किया गया है? –
विन 2003 आर 2 मानक – Jaxidian
हमें अभी भी इस समस्या का सामना करना पड़ रहा है और अभी भी इसके लिए उत्तर देना पसंद है ... – Jaxidian