尝试在正文中发送 PUT 数据后来自 Web API 的 405 状态代码

A 405 status code from web API after trying to send PUT data in body

好的。 我正在使用 Web API 发出 AJAX 请求。 我正在尝试将 PUT 请求发送到控制器上的操作。 我正在使用路由属性。 当我将数据作为路线数据的一部分发送时,一切都很好,并且操作获得了正确的信息。 但是,当我尝试发送正文中的数据时,我得到 405 状态((不允许使用方法)。 我还将 [FromBody] 属性添加到参数中。这是 jQuery 调用:

  type: 'PUT',
    url: 'api/ServerQueue/activity',
    data: "=2",
    success: function (xhr) {
        $("#load").hide();
    },
    error: function () {
       $("#load").hide();
    }
  };

这是我的操作:

    [Route("status/{status}")]
    public string PutStatus([FromBody]int status)
    {
    }

我在控制器主体上放置了一个"RoutePrefix"。 顺便说一句,我正在使用 VS 2012。 知道问题的根源是什么吗?

尝试从

更改路由配置
[Route("status/{status}")]

[Route("status")]