2010-12-10 6 views
24

क्या कोई इस पर कोई प्रकाश डाल सकता है? मुझे लगता है कि मैंने आज पूरे दिन बर्बाद कर दिया है और यह कैसे करना है इसके बारे में जानकारी के किसी भी स्क्रैप के लिए इंटरनेट खोजना। मैंने एक बहुत ही सरल डब्ल्यूसीएफ रीस्टफुल सेवा बनाई है। यह मूल रूप से अवधारणा का सबूत है। मेरे पास इसके पीछे एक साधारण डेटाबेस है और मैं इसे काम करने की कोशिश कर रहा हूं ताकि मैं आइटम देख सकूं, बना सकूं, अपडेट कर सकूं और हटा सकूं। अभी मैं केवल काम देख रहा हूं और अपडेट कर रहा हूं। मैं बाद में निर्माण से निपटने के लिए। अभी के लिए मैं यह नहीं समझ सकता कि क्यों हटाना काम नहीं करता है। अब तक जो कुछ भी मैंने पाया है, वह मुझे बताता है कि मुझे WebDAV मॉड्यूल को अक्षम करने की आवश्यकता है। मैंने ऐसा किया और फिर मुझे काम करने के लिए पॉट मिला। लेकिन मैं काम करने के लिए हटा नहीं सकता है। जब भी मैं अपनी सेवा के माध्यम से DELETE को कॉल करने का प्रयास करता हूं तो मुझे निम्न त्रुटि मिलती है:HTTP DELETE क्रिया वापसी 405 त्रुटि क्यों करता है - आईआईएस 7.5 पर चल रही मेरी रीस्टफुल डब्ल्यूसीएफ सेवा के लिए विधि की अनुमति नहीं है?

दूरस्थ सर्वर ने एक अप्रत्याशित प्रतिक्रिया लौटा दी: (405) विधि अनुमत नहीं है।

तो ऐसा लगता है कि मेरे सर्वर पर कहीं कहीं यह DELETE क्रिया को अनुमति नहीं दे रहा है। लेकिन मेरे जीवन के लिए मैं इसे समझ नहीं सकता। मैंने पहले ही हैंडलर मैपिंग्स की जांच की है और हैंडलर एसवीसी एक्सटेंशन के लिए सभी क्रियाओं को अनुमति देता है। मैंने WebDAV अक्षम कर दिया है। मुझे सच में यकीन नहीं है कि और कहां देखना है। मैं विंडोज सर्वर 2008 आर 2 पर आईआईएस 7.5 का उपयोग कर रहा हूं।

(अगर यह सब करने में मदद मिलेगी मैं कोड प्रदान कर सकते हैं)

धन्यवाद, कोरी

उत्तर

21

मैं सिर्फ मैं क्यों हो रही 405 पद्धति अनुमत नहीं हटाएं क्रिया का उपयोग कर रखा पता लगाने की कोशिश बहुत अधिक समय की बिताया। मैंने जो कुछ भी पढ़ा, वह आईआईएस से वेबडावी को अनइंस्टॉल करने के लिए कहा गया, लेकिन ऐसा लगता है कि आईआईएस को तोड़ने में सभी साइटों ने 503 त्रुटियां दीं। मैंने इसे पुनः स्थापित किया, फिर कुछ सेटिंग के लिए आईआईएस में देखने के बारे में बताया।

यह पता चला है कि वेबएडीवी समस्या है, और इसका नाम "वेबडावी संलेखन" नामक आईआईएस फीचर्स पेज पर एक नोड है। उस पर क्लिक करने से आप गुण पृष्ठ प्राप्त करने के लिए वेबडावी सेटिंग्स ... पर क्लिक कर सकते हैं। अनुभाग अनुरोध फ़िल्टरिंग व्यवहार में, सेट करें Verb फ़िल्टरिंग से पर झूठी मेरे लिए चाल (वाईएमएमवी) लग रहा था।

यह समाधान के लिए गुगल होने पर एक लोकप्रिय परिणाम प्रतीत होता था, इसलिए मैंने सोचा कि मैं सुझाए गए समाधानों की सूची में जोड़ूंगा।

0

खैर मुझे यकीन है कि अगर यह वास्तव में मेरे प्रश्न का उत्तर है, लेकिन यह समस्या का समाधान नहीं किया हूँ। मैंने बस विजुअल स्टूडियो में एक नई परियोजना शुरू की और इस बार मैंने .NET REST सेवा टेम्पलेट का उपयोग किया जो मुझे ऑनलाइन मिला। तब मैंने अपने पुराने प्रयास से पुराने कोड को स्थानांतरित कर दिया और इसे नई परियोजना में इस्तेमाल किया। इसने एक जादू की तरह काम किया। सभी चार क्रियाएं अब सही तरीके से काम करती हैं (प्राप्त करें, दबाएं, पोस्ट करें और हटाएं)। तो यह अब काम कर रहा है।

कोरी

45

यदि किसी को भी एक ही समस्या है।

यहां एक और तरीका है जिसे आप आजमा सकते हैं।

web.config में

<system.webServer> 
    <modules> 
     <remove name="WebDAVModule" /> 
    </modules> 
    <handlers> 
     <remove name="WebDAV" /> 
    </handlers> 
</system.webServer> 
+3

पुनः संकलित करें, ** मॉड्यूल के लिए जाने की जरूरत हो सकती ** और ** हैंडलर मैपिंग ** दूर करने के लिए। धन्यवाद maxisam! – mcNux

+0

यह मेरे लिए काम करता है भले ही WebDAV पहले से ही DELETE को अनुमति देने के लिए कॉन्फ़िगर किया गया था और इसे वर्ब फ़िल्टरिंग को अनुमति देने के साथ भी कॉन्फ़िगर किया गया था: झूठी। –

+0

यह मेरी डब्ल्यूसीएफ रीस्टफुल सेवा में 405'एड होने से पुट और डिलीट विधियों को प्राप्त करने के लिए मुझे बस इतना करना था। धन्यवाद। – kurt

1

अपनी वेबसाइट के IIS में हैंडलर मैपिंग प्रबंधक खोलें

संपादित प्रत्येक हैंडलर आप के साथ हटाने के लिए, अनुरोध प्रतिबंध क्लिक करें, क्रिया टैब चुनने चाहते हैं, तो करने के लिए DELETE जोड़ने "निम्न में से एक" सूची या, यदि आपकी चिंताओं के भीतर उपयुक्त है, तो सभी क्रियाओं को अनुमति दें।

आप अपनी वेबसाइट को पुनः आरंभ करने और/या आईआईएस जीयूआई के माध्यम से अपने कोड