Подтвердить что ты не робот

Kestrel on AspNet vNext не служит странице индекса в/

Мне нужно иметь возможность обслуживать мой "index.html", по умолчанию url/, используя веб-сервер Kestrel. Прямо сейчас я могу получить доступ к моим статическим файлам с полным путем i.e/index.html

Снова это отлично работает на VisualStudio, контекст - OSX с Kestrel

Это мой Startup.cs

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

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

Решение, которое я имею до сих пор, заключается в том, чтобы сделать перенаправление внутри HomeController. Но это довольно уродливо, я пытаюсь служить статическому html файлу, который, честно говоря, не хочу, чтобы он обрабатывался моим Приложением, если возможно, он был подан непосредственно из Kestrel.

4b9b3361

Ответ 1

Вам нужно включить DefaultFilesMiddleware с помощью UseDefaultFiles() и поместить его до для вызова UseStaticFiles():

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

Если вы не указали иначе, промежуточное ПО использует по умолчанию DefaultFilesOptions, что означает, что этот список имен файлов по умолчанию будет использоваться:

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

См. MSDN