之间有什么不同系统.Web.Http.HttpPut and System.Web.Mvc.HttpPut?
在 Web API 项目上使用 [HttpPut] 会导致错误 405 - 请求的资源不支持 http 方法“PUT”。
它们属于两个不同的框架。每个管道流都在寻找属于其各自名称空间的特定属性。
各个框架的路由引擎不知道对方,因此如果在 MVC 操作上使用 Web API 属性,则就像根本没有属性一样,因此会遇到 405 错误。
确保在正确的控制器类型上使用正确的命名空间。如果文件中使用了两个命名空间,则通过调用来指定[System.Web.Http.HttpPut]
对于 Web API 操作
[System.Web.Http.HttpPut]
public IHttpActionResult Put([FromBody]MyModel model) { return Ok(); }
and [System.Web.Mvc.HttpPut]
对于 MVC 操作
[System.Web.Mvc.HttpPut]
public ActionResult Put([FromBody]MyModel model) { return View(); }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)