में पैच HTTP क्रिया पंजीकृत करना मैं एएसपी एमवीसी 3 के साथ लागू एक विश्वसनीय सेवा में हाल ही में अनुमोदित पैच HTTP क्रिया को कार्यान्वित करना चाहता हूं। मैंने web.config फ़ाइल में निम्न सेटिंग्स को जोड़ा है।आईआईएस 7/7.5
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<handlers>
<add name="PATCHVerbHandler" path="*" verb="PATCH" modules="ProtocolSupportModule" requireAccess="None" />
</handlers>
<security>
<requestFiltering>
<verbs>
<add verb="PATCH" allowed="true" />
</verbs>
</requestFiltering>
</security>
</system.webServer>
</configuration>
क्रिया विधि AcceptVerbs("PATCH")
विशेषता के साथ सजाया गया है।
सेवा पैच क्रिया के साथ ठीक से काम करती है। यूआरएल सही क्रिया विधि पर जाता है और उचित डेटा देता है।
अजीब मुद्दा यह है कि यदि मैं एक अलग यूआरएल का उपयोग करता हूं जो पैच क्रिया का उपयोग करके किसी भी मार्ग से मेल नहीं खाता है, तो आईआईएस "404 नहीं मिला" के बजाय "200 ठीक" लौटाता है। सभी मानक क्रियाएं (प्राप्त करें, पुट करें, हटाएं, पोस्ट करें, सिर, विकल्प) इस समस्या में नहीं है।
क्या मुझे पैच क्रिया के लिए अतिरिक्त हैंडलर पंजीकृत करने की आवश्यकता है या क्या यह एक रूटिंग समस्या है? किसी भी मदद की सराहना की है।
उपरोक्त कॉन्फ़िगरेशन किसी भी कस्टम हैंडलर का उपयोग नहीं करता है। "प्रोटोकॉलस्पोर्ट मॉड्यूल" मानक एएसपी.नेट हैंडलर है जो मानक क्रियाओं जैसे जीईटी, पोस्ट इत्यादि के साथ पंजीकृत है –
सर्वर पर पैच क्रिया प्रोटोकॉलस्पोर्ट मॉड्यूल घोषणा के बिना ठीक से काम करती है। मैं यह जवाब स्वीकार करूंगा। मेरे वर्कस्टेशन पर शायद कुछ गलत कॉन्फ़िगर किया गया है। –