स्थिर फ़ाइल सेवा और एक नियंत्रक के लिए रास्ते में करने के लिए इस तरह के अनुरोध की जरूरत है की कोशिश करता है मार्ग मैं कॉन्फ़िगर किया है:MVC4 में विस्तार से काम नहीं करेगा के साथ एक यूआरएल रूटिंग, मैं MVC4 उपयोग कर रहा हूँ
routes.MapRoute(
name: "Data",
url: "Data/{file}",
defaults: new { controller = "Data", action = "fileinfo"}
);
अब, यह पूरी तरह से ठीक काम करता है और मार्गों अनुरोध मेरी DataController करने के लिए यदि यूआरएल .xml एक्सटेंशन शामिल नहीं है, लेकिन जैसे ही एक विस्तार प्रयोग किया जाता है, आईआईएस तक सेवा करने की कोशिश करता है एक स्थिर फ़ाइल (मेरे नियंत्रक को रूट करने के बजाय) और मुझे 404 त्रुटि मिलती है।
मैंने इस मुद्दे के बारे में ऑनलाइन प्रश्न/उत्तर पढ़े हैं, और मैंने जो भी समाधान किया है, वह असफल रहा है।
उदाहरण के लिए, मैंने अपने रूटकोलेक्शन को कॉन्फ़िगर करते समय RouteExistingFiles = true
का उपयोग करने का प्रयास किया है, और मैंने web.config में <modules runAllManagedModulesForAllRequests="true" />
जोड़ा है, लेकिन इसका कोई फायदा नहीं हुआ है।
अगर किसी को पता है कि मुझे क्या करना चाहिए या मैं क्या खो सकता हूं, तो इसकी सराहना की जाएगी। मैं एएसपी नेट 4.5, वीएस 2012 और आईआईएस 8.0 का उपयोग कर रहा हूं।
आपकी प्रतिक्रिया के लिए धन्यवाद, मैं वास्तव में इसकी सराहना करता हूं। :) इसे करने के बाद, यूआरएल पर जाने पर मुझे 500 त्रुटि मिलती है। त्रुटि संदेश कहता है कि आईआईएस को अनुरोध प्राप्त हुआ था और फिर अनुरोध को संभालने वाले मॉड्यूल के साथ किसी भी तरह विफल रहा (त्रुटि विवरण संदर्भ प्रबंधित किया गया DLEExtension और प्रबंधित पाइपलाइन हैंडलर मॉड्यूल, लेकिन यह मेरे लिए सहायक होने के लिए थोड़ा अस्पष्ट है)। – user2445698
इस बीच, मुझे एक संभावित कामकाज मिला है (सुंदर नहीं हो सकता है, लेकिन यह काम करता है)। मैं global.asax.cs में /data/fileinfo.xml को पकड़ रहा हूं और एक्सटेंशन को ट्रिम करने के लिए Context.RewritePath() का उपयोग कर रहा हूं। फिर रूटिंग ठीक से काम करने में सक्षम है। आपकी मदद के लिए धन्यवाद। – user2445698
आह यह दयालु है - मेरी मशीन पर पूरी तरह से काम किया :-)। सुनने के लिए खुशी हुई कि आपको एक कामकाज मिला है। आप बाद की तारीख में हमेशा प्रतिक्रिया कर सकते हैं! –