19

altında dizin sayfasını sunmuyor Kankrel web sunucusunu kullanarak, varsayılan URL / altında 'index.html' hizmetimi sunabilmem gerekir. Şu anda sadeceAspNet'de Kestrel vNext,/

Yine bu VisualStudio üzerinde mükemmel çalışıyor /index.html yani tam yolu ile benim statik dosyalara erişmek mümkün, bağlam OSX kerkenez

Bu benim Başlatma olduğu beraberdir. cs

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

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

var bugüne kadar çözüm, bir HomeController içindeki bir yönlendirme yapmaktır. Ama bu çok çirkin, ben doğrudan Kerkenez hizmet doğrudan, benim Uygulama tarafından ele alınmasını istemiyorum bir statik html dosya hizmet etmeye çalışıyorum.

+0

Projenizin bir görüntüsünü kaydeder misiniz? MVC modelini kandıramazsınız. – CodeNotFound

cevap

38

Sen UseDefaultFiles() kullanarak DefaultFilesMiddleware etkinleştirmek ve önce o UseStaticFiles() çağrısını yerleştirmek gerekir:

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

aksi belirtmezseniz, ara katman bu listeyi, yani DefaultFilesOptions varsayılan olarak kullandığı varsayılan dosya isimleri kullanılacaktır:

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

Bkz MSDN

+1

Bu iyi bir cevap, çözdüğümü işaretledim, yine de benim için yapmıyor. Boş/URL hala sunulmuyor. Hala bir şekilde Kestrel Server ile ilgili olabileceğini düşünüyorum. – Javier

+7

'UseDefaultFiles()' *. * 'Den önce UseStaticFiles() 'aramayı deneyin. Ayrıca, bkz. Https://github.com/aspnet/StaticFiles/issues/10 – haim770

+1

tamamen anladım !, Ben bir önceki yorumun önerisini yanıt olarak önereceğim – Javier