23

我需要能够使用 Kestrel Web 服务器在默认 url /下提供我的“index.html”。现在我只能使用完整路径访问我的静态文件,即/index.html

这再次在 VisualStudio 上完美运行,上下文是带有 Kestrel 的 OSX

这是我的Startup.cs

public void ConfigureServices(DI.IServiceCollection services)
 {   
     services.AddMvc();
 }

 public void Configure(IApplicationBuilder app)
 {
     app.UseStaticFiles();
     app.UseMvc();
 }

到目前为止,我的解决方案是在 HomeController 中进行重定向。但这很丑陋,我正在尝试提供一个静态 html 文件,老实说,我不希望它由我的应用程序处理,如果可能的话,直接从 Kestrel 提供。

4

1 回答 1

42

您需要启用DefaultFilesMiddlewareusingUseDefaultFiles()并将其放置在调用之前UseStaticFiles()

app.UseDefaultFiles();
app.UseStaticFiles();

如果您没有另外指定,则中间件DefaultFilesOptions默认使用 ,这意味着将使用此默认文件名列表:

default.htm
default.html
index.htm
index.html

MSDN

于 2015-05-14T08:24:03.173 回答