仅在Kestrel上只有一个端点的C#.NET Core 2.2 Web-Api 500

时间:2019-06-17 16:19:57

标签: asp.net-web-api asp.net-core .net-core kestrel

我有一个Web-Api项目。此项目作为服务在红est上推出。 现在,我所有的端点之一直接返回500,其他端点正常工作。还有500个我只能使用kestrel,也可以使用kestrel local进行调试。

我清空我的控制器(控制器类内部的代码),像下面的代码一样简化。我试图更改名称。这一切都没有区别。并且该控制器看起来与其他控制器类相同。

我知道,这是一个很难的问题,但是在哪里可以找到我总是立即得到500条响应的解决方案呢?

坦率

namespace DataPicker.Api.Controllers
{
  [Produces("application/json")]
  [Route("api/v1/dataPicker/environmentData")]
  public class TimeSeriesController : Controller
  {
    public TimeSeriesController(){}

    [HttpPost()]
    public async Task<IActionResult> 
    CreateAsync([FromBody]Data data)
    {
        return Ok("received");
    }

    public class Data
    {
        [JsonProperty("text", Required = Required.AllowNull)]
        public string Text { get; set; }
    }
  }
}

卷曲: curl -X POST“ http://localhost:5000/api/v1/dataPicker/environmentData” -H“接受:application / json” -H“内容类型:application / json” -d“ {\” text \“:\” string \“}”

响应: 500,错误:内部服务器错误 响应头  内容长度:0  日期:2019年6月17日星期一16:18:24 GMT  服务器:Kestrel

1 个答案:

答案 0 :(得分:0)

我不知道该解决方案如何适合该问题,但我通过以不同于以往的方式设置url来使它起作用:

launchSettings.json:

listeners.add(l);

Programm.cs:

"Kestrel": {
  "commandName": "Project",
  "launchBrowser": true,
  "environmentVariables": {
    "ASPNETCORE_ENVIRONMENT": "Development"
  },
  "applicationUrl": "http://localhost:5000/"
}