ASP.NET Core 静态文件中间件(默认文件的设置)
一、UseDefaultFiles()中间件默认会去查找的地址信息的顺序。
● Index.htm
● Index.html
● default.htm
● default.html
新增的default.html文件需要放入wwwroot文件夹的根目录中,否则无法运行。
二、重新定义默认文件 举个例子:
//Startup.cs中的Configure()中加以下内容
DefaultFilesOptions defaultFilesOptions = new DefaultFilesOptions();
defaultFilesOptions.DefaultFileNames.Clear();
defaultFilesOptions.DefaultFileNames.Add("html1-1.html");
app.UseDefaultFiles(defaultFilesOptions);
//这样即便是index.html还存在,默认文件也是html1-1.html
app.UseStaticFiles();
三、终极解决办法 UseFileServer()中间件
UseFileServer()结合了这3个中间件的功能:
● UseStaticFiles()、
● UseDefaultFiles()
● UseDirectoryBrowser()(注:DirectoryBrowser()中间件支持目录浏览,并允许用户查看指定目录中的文件。)
我们可以用UseFileServer()中间件替换UseStaticFiles()和UseDefaultFiles()中间件。
举个栗子:
//Startup.cs中的Configure()中加以下内容
FileServerOptions fileServerOptions = new FileServerOptions();
fileServerOptions.DefaultFilesOptions.DefaultFileNames.Clear();
fileServerOptions.DefaultFilesOptions.DefaultFileNames.Add("html1-1.html");
app.UseFileServer(fileServerOptions);
//代替了app.UseDefaultFiles(defaultFilesOptions); 和app.UseStaticFiles();