पर Http PUT अनुरोध सक्षम करें मैं एक एमवीसी अनुप्रयोग पर काम कर रहा हूं। सेवा के मेरे मूल मसौदे पर मेरे पास मेरे नियंत्रकों में से एक विधि थी:.NET MVC
[AcceptVerbs(HttpVerbs.Post)]
[ActionName("UpdateRelationship")]
public ActionResult UpdateRelationship(string aParameter)
और यह ठीक काम करता था। नवीनतम संशोधन में मुझे इसे एक पुट अनुरोध में बदलने के लिए कहा गया है ताकि इसे उसी तरह के जोड़ तंत्र से अलग किया जा सके जो पोस्ट का उपयोग करता है। तो मैं इसे इस के लिए बदल दिया:
[AcceptVerbs(HttpVerbs.Put)]
[ActionName("UpdateRelationship")]
public ActionResult UpdateRelationship(string aParameter)
और अचानक मैं अपने अनुरोध पर एक 404 हो रही है, सब सिर्फ AcceptVerbs में बदलाव करने से। त्रुटि के रूप में, ऐसा प्रतीत होता है कि आईआईएस एमवीसी एक्सटेंशनलेस यूआरएल पुनः लिखने के बजाय मानक वेबफॉर्म पेज के रूप में अनुरोध को रूट करने का प्रयास कर रहा है।
यह गुगल करना ऐसा लगता है कि एक आम कारण ब्राउज़र ब्राउज़र अनुरोधों की अनुमति नहीं दे रहा है लेकिन मैं इसका परीक्षण करने के लिए ब्राउज़र का उपयोग नहीं कर रहा हूं - मैं फिडलर का उपयोग कर रहा हूं। तो वहां कोई समस्या नहीं होनी चाहिए। मुझे यह भी लगता है कि सही सेटिंग्स पहले से ही web.config में हैं:
<system.webServer>
<validation validateIntegratedModeConfiguration="false" />
<modules runAllManagedModulesForAllRequests="true">
<remove name="WebDAVModule" />
</modules>
<handlers>
<remove name="UrlRoutingHandler" />
<remove name="MvcHttpHandler" />
<remove name="WebDAV" />
<add name="MvcHttpHandler" preCondition="integratedMode" verb="*" path="*.mvc" type="System.Web.Mvc.MvcHttpHandler, System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
</handlers>
<security>
<requestFiltering>
<verbs>
<add verb="PUT" allowed="true" />
</verbs>
</requestFiltering>
</security>
</system.webServer>
तो मुझे क्या याद आया?
संपादित करें: यह कोड सहकर्मियों की मशीन पर काम करता है। तो ऐसा लगता है कि आईआईएस के मेरे स्थानीय सेटअप की गलती है। फिर भी यह समझाने के लिए एक नुकसान पर मुझे क्या बदलने की जरूरत है - कोई विचार?
चीयर्स, मैट
में कहा गया है को दूर करने के लिए किया था? अगर पूर्ण खून है, तो आप किस ओएस पर हैं? –
यह वह है जो विंडोज 7 समर्थक में बनाया गया है - इसलिए मुझे लगता है कि यह व्यक्त है। –