OWIN 的 app.usestaticfiles 和 app.usefileserver 有啥区别
Posted
技术标签:
【中文标题】OWIN 的 app.usestaticfiles 和 app.usefileserver 有啥区别【英文标题】:What is the difference between app.usestaticfiles & app.usefileserver for OWINOWIN 的 app.usestaticfiles 和 app.usefileserver 有什么区别 【发布时间】:2019-03-16 14:25:14 【问题描述】:我想知道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】:IAppBuilder.UseFileserver
结合了UseStaticFiles
UseDefaultFiles
,但默认不结合UseDirectorybrowser
。
这意味着:
app.UseFileServer(enableDirectoryBrowsing: true);
启用以上所有功能,而
app.UseFileServer();
仅启用静态文件和默认文件,但不启用目录浏览。
反过来说,IAppBuilder.UseStaticFiles
只允许网络服务器提供静态文件,但不对默认文档或目录浏览做任何假设。
【讨论】:
以上是关于OWIN 的 app.usestaticfiles 和 app.usefileserver 有啥区别的主要内容,如果未能解决你的问题,请参考以下文章
重新整理 .net core 实践篇—————静态中间件[二十一]