Я получил ASP.NET Core 2.0 WEB-API , и он должен работать на kestrel , потому что он будет там размещен. Когда я начинаю с Kestrel (посмотрите на мои параметры запуска ниже), появляется POST, и я всегда получаю 500, не возвращаясь в код . Означает, что я оставляю точки взлома везде, и когда я выполняю POST в Swagger, ни одна точка останова не достигается. Когда я использую IIS, он работает нормально. 500 приходит сразу. 500 приходит также после развертывания в Linux Kestrel.
Я реализую @ Startup.cs:
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
app.Use((context, next) =>
{
context.Response.Headers.Remove("Server");
return next();
});
@Program.cs:
public static IWebHost BuildWebHost(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseStartup<Startup>()
.UseUrls("http://0.0.0.0:5000")
.UseIISIntegration()
.UseApplicationInsights()
.UseKestrel()
.Build();
@launchSettings.json:
"Kestrel": {
"commandName": "Project",
"launchBrowser": true,
"launchUrl": "",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
}
В Kestrel вызов POST должен обрабатывать метод Controller со всей его логикой, как в IIS.