Asp.net core 放置、删除ASP.NET核心Web API模板不工作(错误404)

Asp.net core 放置、删除ASP.NET核心Web API模板不工作(错误404),asp.net-core,asp.net-web-api,iis-express,Asp.net Core,Asp.net Web Api,Iis Express,我甚至在.config文件中尝试了几次修改,以启用这些动词,但都没有效果。 GET方法工作正常,但404用于PUT和DELETE 我已经尝试删除WebDav模块和其他与IIS相关的修改。 这是我的控制器: [HttpPut("{id:length(24)}")] public IActionResult Update(string id, Client clientIn) { var client = _clientService.Get(id); if (

我甚至在.config文件中尝试了几次修改,以启用这些动词,但都没有效果。 GET方法工作正常,但404用于PUT和DELETE

我已经尝试删除WebDav模块和其他与IIS相关的修改。

这是我的控制器:

[HttpPut("{id:length(24)}")]
public IActionResult Update(string id, Client clientIn)
{
    var client = _clientService.Get(id);

    if (client == null)
    {
        return NotFound();
    }

    _clientService.Update(id, clientIn);

    return NoContent();
}

[HttpDelete("{id:length(24)}")]
[Route("api/Clients/{id}")]
public IActionResult Delete(string id)
{
    var client = _clientService.Get(id);

    if (client == null)
    {
        return NotFound();
    }

    _clientService.Remove(client.ClientId);

    return NoContent();
}

我不知道您是如何设置HttpGet的。在这段代码中,由于您限制了id的长度,因此id最多必须映射24个字符。你可以这样改变它

    [HttpPut("{id:maxlength(24)}")]
    public IActionResult Update(string id, Client clientIn)
    {
        //
    }

您可以参考这个。

我不知道您是如何设置HttpGet的。在这段代码中,由于您限制了id的长度,因此id最多必须映射24个字符。你可以这样改变它

    [HttpPut("{id:maxlength(24)}")]
    public IActionResult Update(string id, Client clientIn)
    {
        //
    }

您可以参考这个。

谢谢!工作得很有魅力!谢谢工作得很有魅力!