Asp.net-Mvc

AspNet vNext 上的 Kestrel 不提供 / 下的索引頁面

  • May 14, 2015

我需要能夠使用 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 提供。

您需要啟用DefaultFilesMiddlewareusingUseDefaultFiles()並將其放置在呼叫之前UseStaticFiles()

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

如果您沒有另外指定,則中間件DefaultFilesOptions預設使用 ,這意味著將使用此預設文件名列表:

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

MSDN

引用自:https://stackoverflow.com/questions/30228620