ASP.NET MVC got 405 error on HTTP DELETE request?

2019-01-22 19:46发布

问题:

I'm trying to pass the DELETE to a URL in asp.net MVC using JavaScript but however i always got 405 Method not allow return.

is there anyway to make this work?

FYI: I've put the [AcceptVerb(HttpVerb.Delete)] attribute on my controller.

DELETE /post/delete/8

this is the request

回答1:

It was frustrating to me too. It is because WebDAVModule is installed by default on IIS 7.5. By removing the module, you can get rid of this frustrating restriction. Simply,

    <system.webServer>
    <validation validateIntegratedModeConfiguration="false"/>
    <modules runAllManagedModulesForAllRequests="true">
            <remove name="WebDAVModule"/> <- add this

from http://shouldersofgiants.co.uk/Blog/post/2009/11/27/HTTP-Error-405-With-ASPNet-MVC-and-HTTP-PUT-on-IIS-75.aspx



回答2:

You should check the web.config (if using IIS7, else the IIS manager for IIS6 and below) to make sure the DELETE verb is mapped to the MCV request handler.