2013-07-13 4 views
7

स्ट्रिंग "con" के बारे में क्या गलत है?एएसपी.नेट एमवीसी 4 वेब एपीआई स्ट्रिंग "कॉन" युक्त पथ को मैप करने में विफल रहता है?

ठीक है, मेरी एपीआई मार्ग विन्यास बल्कि नीरस है:

config.Routes.MapHttpRoute(
    name: "DefaultApi", 
    routeTemplate: "api/{controller}/{id}", 
    defaults: new { id = RouteParameter.Optional } 
); 

LocationController निम्न विधि है:

public List<LocationViewModel> Get(string id) 
{ 
    return _ds.SearchLocations(id); 
} 

सब कुछ एकदम सही ढंग से काम करता है, सिवाय इसके कि मैं एक HTTP 404 त्रुटि हो रही है जब मैं इस तरह संसाधन प्राप्त करने का प्रयास करता हूं:

/एपीआई/स्थान/कॉन

इस मामले में, विधि हिट नहीं है। अजीब बात यह है कि अगर मैं एक आईडी पैरामीटर के रूप में "con" के अलावा कोई अन्य स्ट्रिंग सेट करता हूं, तो नियंत्रक विधि को हिट किया जा रहा है और सही तरीके से काम करता है!

यह तब हो रहा है जब मैं स्थानीय एप्लिकेशन को कैसिनी (आईआईएस एक्सप्रेस के साथ एक ही चीज़) पर डिबग कर रहा हूं। मेरी प्रोजेक्ट निर्देशिका में "con" नाम की कोई फ़ाइल नहीं है। ऐप त्रुटि घटना को संभालने के बाद, इंटेलिटेस ने संदेश के साथ एक एचटीपीएक्सप्शन का खुलासा किया: "पथ को मानचित्र करने में विफल '/ एपीआई/स्थान/कॉन' ...

कोई संकेत? क्या यह कोई ज्ञात त्रुटि है?

अग्रिम धन्यवाद!

उत्तर

11

यूआरएल में कुछ कीवर्ड की अनुमति नहीं है और CON उनमें से एक है। this देखें। वर्कअराउंड में आपके वेब.कॉन्फिग में <system.web> के तहत निम्नलिखित शामिल करना है।

<httpRuntime relaxedUrlToFileSystemMapping="true" /> 
+0

आह, स्पष्ट रूप से कुछ मरे हुए लाश अभी भी हमें परेशान कर रहे हैं ... :) महान प्रतिक्रिया के लिए धन्यवाद! –

+0

वास्तविक एफ क्या है? धन्यवाद कि आप इंटरनेट पर रेंडर करते हैं !! – AndreasKnudsen

+0

मैंने सोचा कि जब यह हुआ तो मैं पागल हो रहा था। इसके लिए धन्यवाद! – Krummelz

संबंधित मुद्दे