我有一个具有标准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。
先谢谢。
答案 0 :(得分:0)
解决方案是删除WebDAV模块,但我也使用Restful-Routing库,结果证明这是导致奇怪行为的代码中的一个小错误。修补它现在它的工作原理! -