适用于OWIN的app.usestaticfiles和app.usefileserver有什么区别

时间:2018-10-11 13:22:35

标签: c# asp.net-web-api visual-studio-2017 owin

我想知道这两个OWIN代码块之间有什么区别。

在我看来,他们在做同样的工作。

1。

 string root = AppDomain.CurrentDomain.BaseDirectory;
            var physicalFileSystem = new PhysicalFileSystem(Path.Combine(root, "wwwroot"));
            var options = new FileServerOptions
            {
                RequestPath = PathString.Empty,
                EnableDefaultFiles = true,
                FileSystem = physicalFileSystem
            };
            options.StaticFileOptions.FileSystem = physicalFileSystem;
            options.StaticFileOptions.ServeUnknownFileTypes = false;

            app.UseFileServer(options);

2。

    app.UseStaticFiles("wwwroot");

1 个答案:

答案 0 :(得分:1)

IAppBuilder.UseFileserver组合了UseStaticFiles UseDefaultFiles,但默认情况下未合并UseDirectorybrowser

这意味着:

app.UseFileServer(enableDirectoryBrowsing: true); 

启用上述所有功能,而

app.UseFileServer();

仅启用静态文件和默认文件,但不启用目录浏览。 相反,这意味着IAppBuilder.UseStaticFiles仅使Web服务器能够提供静态文件,而不对默认文档或目录浏览做出任何假设。