如何在IIS7中启用DELETE谓词?

时间:2012-04-12 16:18:49

标签: model-view-controller iis httpverbs

我通过AJAX和Delete动词方法进行了调用,但IIS服务器的响应是405 Method Not Allowed。

我已经读过它了。显然一切都好,我没有安装webDAV。我试图定义处理程序,模块等......我无法获得成功!!!。

这是详细的错误信息:

模块StaticFileModule

通知ExecuteRequestHandler

Handler StaticFile

错误代码0x80070001

任何人都会收到此错误吗?关于它的任何亮点?

2 个答案:

答案 0 :(得分:6)

从AJAX调用DELETE到ASHX文件在IIS 7上返回405 Method Not Allowed错误。未安装WebDAV。该站点是.Net 4.0并使用集成管道模式应用程序池。

  

错误回复包括:

     

模块StaticFileModule

     

通知ExecuteRequestHandler

     

Handler StaticFile

     

错误代码0x80070001

我的解决方案是在IIS管理器中打开网站的Handler Mappings功能。

从Handler Mappings中选择SimpleHandlerFactory-Integrated,它有*.ashx作为路径。

单击“操作”窗格中的“编辑”以打开“编辑管理的处理程序”对话框,然后单击“请求限制”按钮。

选择“动词”选项卡并将“删除”添加到动词列表中。

答案 1 :(得分:1)

在IIS站点中,您可以转到请求过滤 - > HTTP动词并查看是否未明确拒绝DELETE。

当你去Handler Mappings时,例如你编辑你的.axd文件的处理程序(以aspnet_isapi.dll结尾的东西),有一个按钮请求限制......还有一个标签动词,你可以在那里看看是否指定了DELETE。