ग्लोबल.एक्सएक्स में निम्नलिखित संकेत क्या हैं?Global.asax (asp.net-mvc) में रूटिंग को समझना
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
ग्लोबल.एक्सएक्स में निम्नलिखित संकेत क्या हैं?Global.asax (asp.net-mvc) में रूटिंग को समझना
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
यह रूटिंग इंजन को इस अनुरोध को अनदेखा करने और चीजों को संभालने के लिए एएसपी.NET वेबफॉर्म पर छोड़ने के लिए कहता है।
उदाहरण के लिए यह उपयोगी है ELMAH लॉगिंग जो हैंडलर elmah.axd का उपयोग करता है।
इस एएसपी.NET के बिना एएक्सडी हैंडलर को सभी अनुरोधों को नियंत्रकों और कार्यों में मैप करने का प्रयास करेगा। अनदेखा करने का अर्थ है कि यूआरएल डिफ़ॉल्ट व्यवहार के अनुसार यूआरएल को नियंत्रक को मैप नहीं करेगा।
एक .axd फ़ाइल एक वर्चुअल फ़ाइल है जिसे HTTP हैंडलर द्वारा नियंत्रित किया जाता है। वे वेबपृष्ठ पर विभिन्न संसाधनों को वितरित करने के लिए (अन्य चीजों के साथ) उपयोग किए जाते हैं, जैसे AJAX नियंत्रणों और इसी तरह के लिए स्वचालित रूप से जेनरेट की गई जावास्क्रिप्ट।
चूंकि ये वर्चुअल फाइलें हैं, आप नहीं चाहते कि रूटिंग इंजन इन अनुरोधों को नियंत्रकों को मैप करने का प्रयास करें। आपको उन्हें एएसपी.नेट द्वारा सीधे निष्पादित करने की आवश्यकता है।
यही लाइन प्राप्त होती है।
यह एमवीसी सीखने के बारे में वास्तव में निराशाजनक चीजों में से एक है - इस सुविधा के लिए प्रलेखन भयानक है - वहां शायद ही कुछ भी है: http://msdn.microsoft.com/en-us/library/dd470170(VS.100).aspx।
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
यह सब something.axd फ़ाइलों MVC के बाहर चलाने के लिए अनुमति देता है - "{* pathInfo}" अंत में की अनुमति देता है कि क्वेरी स्ट्रिंग (एक वाइल्डकार्ड का यह की तरह) पर ध्यान नहीं दिया है।
ध्यान दें कि यह पथ के लिए किसी भी तरह के वाइल्डकार्ड लागू नहीं होता है, तो:
trace.axd?clear=1 //excluded from MVC
mySubFolder/customResource.axd //MVC passed to mySubFolderController.customResource()
सहायक। मैं "{resource}" और "{* pathInfo}"
के अलावा कीवर्ड के रूप में बिल्कुल सही है और समर्थित नहीं है, लेकिन लगभग पूरी तरह से अनियंत्रित सुविधा है जो आपको लगभग पूरी तरह से अनूदित सुविधा प्रदान करती है इन पर ध्यान नहीं दिया मार्गों पर एक बहुत अधिक नियंत्रण:
//ignore all WebForms .aspx/.asmx/.ashx calls anywhere
routes.IgnoreRoute("{*allaspx}", new { allaspx = @".*\.as[pmh]x(/.*)?" });
आप एक संपत्ति के साथ एक anon-initialised वस्तु पार कर लेते हैं, कि संपत्ति एक कीवर्ड के लिए आप मार्ग में उपयोग कर सकते हैं हो जाता है।
आप मार्ग में रेगेक्स पास नहीं कर सकते हैं, लेकिन आप इस एनन संपत्ति में कर सकते हैं।