我只是想确保在这里没有问题。是否有人知道导致
的原因2017-03-17 07:59:17.5838|1|Microsoft.AspNetCore.Hosting.Internal.WebHost|INFO|Request starting HTTP/1.1 GET http://192.168.20.57:8081/hardware/configuration/active application/json
2017-03-17 07:59:17.5868|4|Microsoft.AspNetCore.StaticFiles.StaticFileMiddleware|DEBUG|The request path /hardware/configuration/active does not match a supported file type
我只通过Kestrel公开Web API(没有IISIntegration)。
请求标头包含
GET /hardware/configuration/active HTTP/1.1
Accept: application/json, text/plain, */*
Content-Type: application/json
定义
[Produces("application/json")]
明确地在我的控制器中没有效果。
答案 0 :(得分:0)
请求由kestrel(这是您的第一个日志行)进入后。
它首先通过中间件管道,直到它到达WebApi中间件。
正如您在第二个日志记录行中看到的那样:Microsoft.AspNetCore.StaticFiles.StaticFileMiddleware
。它到达StaticFileMiddleware
而不是WebApi中间件。
staticFileHandler可能会在wwwroot文件夹中找到一个文件,从而返回此消息?或者甚至在它尝试检查文件系统之前,它会检查它是否是允许/已知的文件扩展名,但事实并非如此,因此这是第二条日志消息。
答案 1 :(得分:0)
将StaticFileOptions.ServeUnknownFileTypes设置为true:
app.UseStaticFiles(new StaticFileOptions()
{
FileProvider = new PhysicalFileProvider("mypath"),
ServeUnknownFileTypes = true // <<<<<<
});
或找出可以扩展未知类型的位置(请在后一种情况下让我知道)。