Dyl*_*rry 5 asp.net-web-api asp.net-core-mvc config.json asp.net-core
我有一个基于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!";
}
}
}
Run Code Online (Sandbox Code Playgroud)
访问http://localhost/api/test
'Postman'来检查每个动词(GET,POST,DELETE,PUT和PATCH)的URL依次适用于GET,POST和DELETE,但是给出了带有PUT和PATCH的404.
编辑:
我记得有一种方法可以为MVC5及更低版本启用这些动词,包括禁用WebDAV并为这两个动词添加处理程序web.config
,但由于没有像web.config
ASP.NET 5 这样的东西,我完全失去了如何解决这个问题.我假设它可能已经解决了config.json
但是我所有尝试搜索这个都没有任何帮助!
我在MVC5中开发的一个以前的站点没有这个问题,看过那个web.config
文件似乎没有任何东西可以禁用WebDAV(它实际上已经卸载)或者允许处理无扩展URL的PUT/PATCH方法.所以我不认为我之前写的内容适用.
有任何想法吗?
谢谢
仅从应用程序的 .NET 和 ASP.net 部分删除了 web.config 支持。如果您的应用程序托管在 IIS 中,您仍然需要 web.config,就像 Web API 一样。
归档时间: |
|
查看次数: |
1137 次 |
最近记录: |