Asp.net web api C#.NET Core 2.2 Web Api 500仅在Kestrel上只有一个端点
我有一个Web Api项目。该项目作为一项服务在红隼上展开。 现在,我所有的端点中有一个直接返回500,其他的都可以正常工作。我只在kestrel上得到了500,同时也使用kestrel local进行调试 我清空我的控制器(控制器类中的代码),简化如下代码。我试着改名。这一切都没有区别。控制器看起来与其他控制器类相同 我知道,这是一个很难回答的问题,但我在哪里可以找到这个问题的解决方案,我总是能马上得到500条回复 坦率的Asp.net web api C#.NET Core 2.2 Web Api 500仅在Kestrel上只有一个端点,asp.net-web-api,asp.net-core,.net-core,kestrel,Asp.net Web Api,Asp.net Core,.net Core,Kestrel,我有一个Web Api项目。该项目作为一项服务在红隼上展开。 现在,我所有的端点中有一个直接返回500,其他的都可以正常工作。我只在kestrel上得到了500,同时也使用kestrel local进行调试 我清空我的控制器(控制器类中的代码),简化如下代码。我试着改名。这一切都没有区别。控制器看起来与其他控制器类相同 我知道,这是一个很难回答的问题,但我在哪里可以找到这个问题的解决方案,我总是能马上得到500条回复 坦率的 namespace DataPicker.Api.Controller
namespace DataPicker.Api.Controllers
{
[产生(“应用程序/json”)]
[路由(“api/v1/dataPicker/environmentData”)]
公共类时间体验控制器:控制器
{
公共时间体验控制器(){}
[HttpPost()]
公共异步任务
CreateAsync([FromBody]数据)
{
返回Ok(“已收到”);
}
公共类数据
{
[JsonProperty(“text”,Required=Required.AllowNull)]
公共字符串文本{get;set;}
}
}
}
卷曲:
curl-X POST“-H”accept:application/json“-H”内容类型:application/json“-d”{\“text\”:\“string\”}
答复:
500,错误:内部服务器错误
响应头
内容长度:0
日期:2019年6月17日星期一16:18:24 GMT
服务器:Kestrel我不明白解决方案如何适合这个问题,但我通过以与以前不同的方式设置url来实现: launchSettings.json:
"Kestrel": {
"commandName": "Project",
"launchBrowser": true,
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
},
"applicationUrl": "http://localhost:5000/"
}
Programm.cs:
public static IWebHostBuilder BuildWebHost(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseStartup<Startup>()
.UseApplicationInsights()
.UseUrls("http://0.0.0.0:5000")
.UseKestrel();
publicstaticiWebHostBuilderbuildWebHost(字符串[]args)=>
WebHost.CreateDefaultBuilder(args)
.UseStartup()
.UseApplicationInsights()
.useURL(“http://0.0.0.0:5000")
.UseKestrel();
查看日志。@DanielA.White当我启动API时,日志会被写入,但其他端点工作正常:2019-06-17 18:20:46.1100 | | | WARN | Microsoft.AspNetCore.Server.Kestrel |覆盖地址|'。而是绑定到UseKestrel()中定义的端点|url:|操作:在失败的端点上引发了什么异常?您是否尝试在操作上放置显式路由并调用它?@DanielA.White控制器或其构造函数内的断点从未到达。在我收到消息500错误之前:内部服务器错误
public static IWebHostBuilder BuildWebHost(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseStartup<Startup>()
.UseApplicationInsights()
.UseUrls("http://0.0.0.0:5000")
.UseKestrel();