带有RESTful Verbs的IIS7.5的ASP.NET MVC 3设置

时间:2011-02-11 18:15:48

标签: asp.net rest configuration asp.net-mvc-3 iis-7.5

我有一个具有标准REST HTTP动词的restful控制器:Get,Post,Put,Delete。我遇到的问题是虽然我的控制器被装饰为接受这些动词,但当我执行我的REST动作时,它只能点击我的Get和Post方法。

我在控制器动作之上有属性:HttPut,HttpDelete,HttpPost和HttpGet。

我的表单中也有覆盖方法:@ Html.HttpMethodOverride(HttpVerbs.Put)

当我提交表单时,我从IIS 7.5收到404错误,说静态文件处理程序找不到该资源。奇怪的是,同样的形式在Cassini中起作用,所以我认为这是IIS7.5设置中的一些内容。

我需要做些什么才能让IIS 7.5使用Asp.Net MVC 3处理像PUT和DELETE这样的REST动词?

我已经删除了WebDAV,并查看了处理程序,但我修改的那些似乎什么也没做。

我目前的设置是Windows 7上的Asp.Net MVC 3,IIS7.5。

先谢谢。

1 个答案:

答案 0 :(得分:0)

解决方案是删除WebDAV模块,但我也使用Restful-Routing库,结果证明这是导致奇怪行为的代码中的一个小错误。修补它现在它的工作原理! -