Bja*_*e M 6 post azure asp.net-core-webapi
我有这个(简化的)ASP.NET Core Web API控制器.GET和POST操作都可以在我自己的机器上很好地工作.但是,部署到Azure只有GET操作才能正常工作.POST动作导致404.任何想法?
namespace Foo
{
using System;
using System.Collections.Generic;
using Microsoft.AspNetCore.Mvc;
[RequireHttps]
[Produces("application/json")]
[Area("Foo")]
[Route("[area]/Api/[controller]")]
public class BarController : Controller
{
[HttpGet]
public IEnumerable<string> Get()
{
return new[] {"Hello", "World!"};
}
[HttpPost]
public void Post([FromBody] InputModel model)
{
}
public class InputModel
{
public int Foo { get; set; }
}
}
}
Run Code Online (Sandbox Code Playgroud)
它是一个针对完整.NET框架的ASP.NET Core MVC应用程序.它部署为Azure Web App.我已使用Postman在本地计算机和Azure中测试了这两个操作.
在某些情况下,当控制器中发生错误时,ASP.NET core 似乎会返回 404,而不是更合适的 500。查看这篇文章:
ASP.NET Core 2.0 站点 POST 请求在 Azure 上导致 404
在答案中,这是由错误的数据库连接字符串引起的(这可能是您将应用程序发布到另一个环境时的情况),但也可能是其他原因。
不确定为什么它不抛出正常错误,也许它尝试重定向到自定义错误页面或类似的内容。
要检查此建议,请尝试从 POST 控制器中删除所有内容以隔离问题。如果它不返回 404,则意味着控制器中的某些内容引发了异常。
| 归档时间: |
|
| 查看次数: |
2241 次 |
| 最近记录: |