【发布时间】:2019-04-01 12:41:02
【问题描述】:
基本的 ASP.NET Core 2.1 Web 应用程序。
Startup.cs 包含以下内容:
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
app.UseStaticFiles();
app.UseMvc();
}
在这种情况下,当我尝试浏览到 webroot 目录(即 project-dir / wwwroot)中的任何 HTML 文件时,它不会得到服务。 webroot 目录包含一个index.html 文件和一个第二个HTML 文件。无法通过键入 URL 来提供任何服务。
如果我更改 Startup.cs 以包含默认文件,如下所示:
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
app.UseDefaultFiles();
app.UseStaticFiles();
app.UseMvc();
}
然后index.html 文件得到服务。即使我输入另一个 HTML 文件的名称,我也会得到 index.html 文件(根据文档)。显然,UseDefaultFiles() 调用的 URL 编写器设法正确处理了这个问题,但为什么它不能通过直接 URL 工作?
编辑 我在上面说过“当我尝试浏览到 webroot 中的任何 HTML 文件时”,但实际上我没有尝试“任何”文件,而是我正在处理的文件名称为 export.html、index.html 或文件一个名为“核心”的子文件夹。请参阅下面的答案了解我的发现。
【问题讨论】:
标签: asp.net-core