在ASP.NET 5 MVC 6中提供静态文件

Dav*_*New 3 azure azure-web-sites asp.net-core-mvc visual-studio-2015 asp.net-core

我的wwwroot静态文件尚未解析.

我知道要提供静态文件,我需要将它们放在wwwroot中:

wwwroot静态文件

favicon.ico解决得很好,但schema/v1-0.json没有.我得到了一般信息:

您要查找的资源已被删除,名称已更改或暂时不可用.

我有以下连线Startup:

app.UseMiddleware<StaticFileMiddleware>(new StaticFileOptions());
app.UseStaticFiles();
Run Code Online (Sandbox Code Playgroud)

我正在使用DNX beta6.以上需要beta5包.我在网上找不到关于在beta6中提供静态文件的任何内容.我不确定这是否可能是问题的原因.

编辑:

根据Sirwan的回答,我添加了以下内容,但json文件仍然不可用:

var options = new StaticFileOptions
{
    ContentTypeProvider =  new JsonContentTypeProvider(),
    ServeUnknownFileTypes = true,
    DefaultContentType = "application/json"
};

app.UseStaticFiles(options);
Run Code Online (Sandbox Code Playgroud)

JsonContentTypeProvider类:

public class JsonContentTypeProvider : FileExtensionContentTypeProvider
{
    public JsonContentTypeProvider()
    {
        Mappings.Add(".json", "application/json");
    }
}
Run Code Online (Sandbox Code Playgroud)

我甚至可以在浏览服务器时看到该文件:

在此输入图像描述

Sir*_*ifi 5

试试这个:

app.UseStaticFiles(new StaticFileOptions
{
    ServeUnknownFileTypes = true,
    DefaultContentType = "image/x-icon"
});
Run Code Online (Sandbox Code Playgroud)

如果您有多个ASP.NET未知的文件类型,则可以使用FileExtensionContentTypeProvider类:

var provider = new FileExtensionContentTypeProvider();
provider.Mappings.Add(".json", "application/json");
provider.Mappings.Add(".ico", "image/x-icon");
// Serve static files.
app.UseStaticFiles(new StaticFileOptions { ContentTypeProvider = provider });
Run Code Online (Sandbox Code Playgroud)