2012-09-05 15 views
9

मैं एक एमवीसी 4 अनुप्रयोग में PUT का उपयोग करने की कोशिश कर रहा हूं और मुझे 405 त्रुटि मिल रही है।एमवीसी 4. आईआईएस 7.5 पुट लौटने 405

मेरे मार्ग में मैं मार्ग पर एक बाधा डाल दिया और पोस्ट अनुमति देने के लिए है, पोस्ट करने के लिए अंत बिंदु काम करता है, PUT एक 405.

के साथ विफल मैं सलाह यहाँ ASP.NET Web API returns 404 for PUT only on some servers और यहाँ ASP.NET MVC got 405 error on HTTP DELETE request?

का पालन किया है

मैंने आईआईएस से वीडीएवी भी हटा दिया है, लेकिन मुझे अभी भी 405 मिल रहा है। किसी के पास कोई अन्य सुझाव है?

मैं भी आईआईएस 8 पर ठीक उसी समस्या आ रही है (विजुअल स्टूडियो 2012 के साथ), उसके लिए मैं इस सलाह ASP.NET Web API - PUT & DELETE Verbs Not Allowed - IIS 8 और फिर भी प्रयास विफल का पालन किया है

उत्तर

1

जैसा कि मैंने कहा ऊपर मैं वेबएपीआई उपयोग कर रहा हूँ और ऐसा प्रतीत होता है कि वेबएपीआई 'फ्यूसी' है जिस पर क्रियाएं किस तरीके से मानचित्र बनाती हैं। मैं काम करने के लिए रूटिंग पाने के लिए [HttpXXX] विशेषताओं (HttpPut, Get, Delete और Post) को उचित तरीके से जोड़ने के लिए समाप्त हुआ, जैसा कि मैंने उम्मीद की थी।

25

मेरा होस्टिंग प्रदाता WebDAV को अनइंस्टॉल नहीं कर सका क्योंकि यह हर किसी को प्रभावित करेगा।

यह, runAllManagedModulesForAllRequests = "true", काम किया लेकिन अनुशंसित नहीं किया गया था।

कई फ़िक्सेस में WebDAVModule के लिए मॉड्यूल को निकालना शामिल था लेकिन यह अभी भी काम नहीं करता है। मैंने हैंडलर को भी हटा दिया, और आखिरकार मैं सभी क्रियाओं का उपयोग कर हटा सकता हूं।

मॉड्यूल और हैंडलर में WebDAVModule और WebDAV को हटाएं।

<modules> 
    <remove name="WebDAVModule" /> 
</modules> 
<handlers> 
    <remove name="WebDAV" /> 
</handlers> 
+1

मेरे वेब। कॉन्फ़िगर में पहले से ही runAllManagedModulesForAllRequests = "true" था। उपरोक्त निकालें WebDAV लाइनों में जोड़ने के लिए मेरे लिए बहुत अच्छा काम किया। – Jbecwar

+0

मैंने सोचा कि मैं पहले से ही यह कर चुका हूं, लेकिन मैंने केवल हैंडलर को हटा दिया - मॉड्यूल नहीं। धन्यवाद! –

+0

यह मेरे लिए काम करता है। +1 –

0

में ... आईआईएस के तहत अपनी साइट पर क्लिक करने से मेरी 2 सेंट लाना 'आईआईएस' के तहत अंतिम प्रविष्टि के रूप में दिखाया 'WebDAV संलेखन नियम'। उस पर डबल-क्लिक करने से पता चला कि 'वेबएडीवी सुविधा अक्षम कर दी गई है।' दाईं ओर अलर्ट और 'WebDAV सक्षम करें' के लिए एक लिंक था लेकिन यह अभी भी काम नहीं कर रहा था। मैं पीछा किया Stanomatic के सुझाव से ऊपर, संचालकों अनुभाग मामला नहीं था, और मेरे मॉड्यूल इस तरह देखा:

<modules runAllManagedModulesForAllRequests="true" /> 

मैं सिर्फ यह में निकालें जोड़ा गया है और है कि मेरी समस्या तय:

<modules runAllManagedModulesForAllRequests="true"> 
    <remove name="WebDAVModule" /> 
</modules> 
संबंधित मुद्दे