【问题标题】:How to get .net c# webAPI PUT and DELETE methods / verbs working如何让 .net c# webAPI PUT 和 DELETE 方法/动词工作
【发布时间】:2012-07-20 15:02:30
【问题描述】:

-设置

IIS 7.5 和 Visual Studio 2012 4.5

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

由于代码如下,我不断收到 405 错误代码或 404 not found 错误代码。

我的问题是我需要将它们添加到 .config 文件中的某种类型的设置,或者我需要在 iis7.5 Web 服务器上进行的设置,以便我可以让它工作?

我一遍又一遍地用谷歌搜索,但找不到这个问题的答案。

在我客户端的 JavaScript 文件中。

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

在c#类的控制器中

   public void Put(int intt)
    {
        var obj = intt;
    }

【问题讨论】:

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


    【解决方案1】:

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

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

    我收回我收到另一个服务器 500 错误。

    请参阅下面的错误。这个让我发疯……

    【讨论】:

    • 这解决了我的问题。太可笑了,Web API 提供了默认的 GET、POST、PUT 和 DELETE 方法,但 IIS 限制了它。
    【解决方案2】:

    看来您可能需要禁用 WebDAV 服务。见这里:

    Enabling html PUT method on IIS 7.5

    【讨论】:

    • 我正在使用 Windows 7 机器。所以角色服务不可用。
    【解决方案3】:

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

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

    我希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 2016-12-27
      • 1970-01-01
      • 2012-09-01
      • 2019-10-28
      • 2015-02-08
      • 2015-04-19
      • 1970-01-01
      • 2017-07-17
      • 1970-01-01
      相关资源
      最近更新 更多