gpt4 book ai didi

c# - System.Web.Http.HttpPut 与 System.Web.Mvc.HttpPut 之间有什么区别

转载 作者:太空狗 更新时间:2023-10-29 21:37:49 25 4
gpt4 key购买 nike

System.Web.Http.HttpPutSystem.Web.Mvc.HttpPut 有什么区别?

在 Web API 项目上使用 [HttpPut] 会导致错误 405 - 请求的资源不支持 http 方法“PUT”。

最佳答案

它们属于两个不同的框架。每个管道流都在寻找属于它们各自命名空间的特定属性。

各个框架的路由引擎不知道对方,所以如果在 MVC 操作上使用 Web API 属性,就好像根本没有属性一样,因此会遇到 405 错误。

确保在正确的 Controller 类型上使用正确的命名空间。如果文件中同时使用了两个命名空间,则通过调用 [System.Web.Http.HttpPut] 进行特定的 Web API 操作

[System.Web.Http.HttpPut]
public IHttpActionResult Put([FromBody]MyModel model) { return Ok(); }

[System.Web.Mvc.HttpPut] 用于 MVC 操作

[System.Web.Mvc.HttpPut]
public ActionResult Put([FromBody]MyModel model) { return View(); }

关于c# - System.Web.Http.HttpPut 与 System.Web.Mvc.HttpPut 之间有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44178056/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com