如何获取.net c#web API PUT和DELETE方法/动词的工作原理

时间:2012-07-20 15:02:30

标签: c# .net asp.net-web-api httpverbs

-settings

IIS 7.5和Visual Studio 2012 4.5

我在我的机器上创建了第一个webAPI项目。使用下面的代码,我可以将动词的类型更改为POST或GET,并将对服务器的请求和返回给客户端的响应完美地工作。

由于代码在下面,我不断收到405错误代码或404找不到错误代码。

我的问题是我需要添加到.config文件中的某种类型的设置,还是我需要在iis7.5 Web服务器上设置的设置,以便我可以使用它?

我一遍又一遍地使用Google,无法找到这个问题的答案。

在我的客户端上的JavaScript文件中。

  $.ajax(
                     {
                         url: "/api/project",
                         type: "PUT",
                         contentType: "application/json",
                         data:'3',
                         success: function (result) {
                            alert(result);
                         }
                     });

在c#class

中的控制器中
   public void Put(int intt)
    {
        var obj = intt;
    }

3 个答案:

答案 0 :(得分:3)

找到了神奇而难以捉摸的链接。

http://geekswithblogs.net/michelotti/archive/2011/05/28/resolve-404-in-iis-express-for-put-and-delete-verbs.aspx

我把它拿回来我得到另一个服务器500错误。

见下面的错误。这个让我开车...

IIS 500 Error

答案 1 :(得分:0)

似乎您可能需要禁用WebDAV服务。见这里:

Enabling html PUT method on IIS 7.5

答案 2 :(得分:0)

我也有500错误,在阅读this post后,我发现如果我将Content-Type更改为“application / json”,则500错误代码消失。

但是,我希望“text / plain”能够正常工作,所以我按照教程here进行了操作,并使其成功运行。

我希望这会有所帮助。