Owin ve Katana ile etrafta dolaşıyorum ve ortak klasörüme statik dosyalar sunmak istiyorum.Owin, yalnızca belirli bir klasördeki dosyaları sunar
Stil sayfaları ve komut dosyaları içeren bir İçerik klasörüm var.
Benim Başlangıç:
public void Configuration(IAppBuilder app)
{
#if DEBUG
//when things go south
app.UseErrorPage();
#endif
// Remap '/' to '.\public\'.
// Turns on static files and public files.
app.UseFileServer(new FileServerOptions()
{
RequestPath = PathString.Empty,
FileSystem = new PhysicalFileSystem(@".\public"),
});
}
Yani localhost göz atarsa eğer: 8861/benim ortak klasöre index.html dosyasını gidin. Bu iyi. Ancak, engellemek istediğim localhost: 8861/Content/style.css dosyasına da göz atabilirim. Kullanıcının ihtiyaç duyduğu her şey herkese açık klasörde erişilebilir olmalıdır. Tüm kalanlar bloke edilmelidir.
Bunu nasıl başarabilirim?
Teşekkürler, bu sorunu gerçekten çözüyor. Ancak, ortak klasörümdeki diğer dosyaları sunarken bir sorun var gibi görünüyor. Yani kamu bir index.html, style.css ve script.js içerir. Dizin sunulur, ancak style.css ve script.js bir 404.4 verir. Herhangi bir fikir? – user1613512
Garip, her şey benim bilgisayarımda iyi çalışıyor, ama ben kendi kendini barındırılan bir uygulama ile test ediyorum. Bu dosyalara, sitenize/public/style.css sitenize değil, sitenize/style.css adreslerine eriştiğinizden emin misiniz? Bu dosyalar web sitesinin klasöründe var, değil mi? – ntl
Denediğin bir şey daha var. Konfigürasyonunuzdaki bir sonraki middleware'i kaydedin: app.Run (context => {return bağlam.Response.WriteAsync ("Wildcard OWIN App");}); delegenin içine yer işareti koyun ve tarayıcıdan style.css dosyasına erişmeyi deneyin. Bu işleyici, diğer middlewares tarafından ele alınmamış tüm istekleri ele alan joker bir ara yazılımdır. Uygulamanız kesme noktasıyla durdurulursa, OWIN isteği işleme alır, ancak yapılandırma doğru değildir, aksi halde IIS yapılandırmasında bir sorun vardır. – ntl