加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-web-api – 带有PUT或PATCH谓词的ASP.NET 5 MVC 6 Web A

发布时间:2020-12-16 03:23:56 所属栏目:asp.Net 来源:网络整理
导读:我有一个基于MVC 6(beta 3)的基本Web API控制器作为新ASP.NET项目的一部分.我遇到的问题是它不接受动词PUT或PATCH,并且每当我尝试使用这些方法访问URL时都会返回错误404. 这是我作为基本测试得到的: namespace Test.Controllers{ [Route("api/test")] publi
我有一个基于MVC 6(beta 3)的基本Web API控制器作为新ASP.NET项目的一部分.我遇到的问题是它不接受动词PUT或PATCH,并且每当我尝试使用这些方法访问URL时都会返回错误404.

这是我作为基本测试得到的:

namespace Test.Controllers
{
    [Route("api/test")]
    public class TestController : Controller
    {
        [HttpGet]
        public string TestGet()
        {
            return "Hello from GET!";
        }

        [HttpPost]
        public string TestPost()
        {
            return "Hello from POST!";
        }

        [HttpDelete]
        public string TestDelete()
        {
            return "Hello from DELETE!";
        }

        [HttpPut]
        public string TestPut()
        {
            return "Hello from PUT!";
        }

        [HttpPatch]
        public string TestPatch()
        {
            return "Hello from PATCH!";
        }
    }
}

使用’Postman’访问http:// localhost / api / test以检查每个动词(GET,POST,DELETE,PUT和PATCH)的URL依次适用于GET,POST和DELETE,但是给出了404与PUT和PATCH.

编辑:
我记得有一种方法可以为MVC5和更低版本启用这些动词,包括禁用WebDAV并通过web.config为这两个动词添加处理程序,但因为在ASP.NET 5中没有web.config这样的东西我在关于如何解决这个问题的全部损失.我假设它可能是通过config.json解决的,但我所有尝试搜索这个都没有任何帮助!

我在MVC5中开发的以前的站点没有这个问题,看过web.config文件后,似乎没有任何东西可以禁用WebDAV(它实际上已经卸载)或允许处理PUT / PATCH方法无扩展名的网址.所以我不认为我之前写的内容适用.

有任何想法吗?

谢谢

解决方法

web.config支持仅从应用程序的.NET和ASP.net部分中删除.如果您的应用程序托管在IIS中,您仍然需要web.config,就像您对Web API一样.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读