Çok basit bir SPA stili uygulama geliştiriyorum ve jilet kullanmak istemiyorum, bu yüzden sadece HTML dosyalarını (wwwroot klasöründen) sunmak için ihtiyacım var. js benim API denetleyicileri çağırır. Web API 2'de yönlendiricinin HTML dosyalarını görmezden gelmesini sağlayabilirsiniz; http://www.strathweb.com/2014/04/ignoring-routes-asp-net-web-api/ IgnoreRoute işlevselliği sırf uygulanması ya da değiştirildi değil: Bu örneğe benzerMVC6'daki yolları nasıl yok sayma
config.Routes.IgnoreRoute("Html", "{whatever}.html/{*pathInfo}");
?
Şu anda app.UseMvc(); Benim Startup.cs herhangi isteği "/" Bana bu durum alır olsun:
An unhandled exception occurred while processing the request.
InvalidOperationException: The view 'Index' was not found. The following locations were searched:
/Views/Home/Index.cshtml
/Views/Shared/Index.cshtml.
Microsoft.AspNet.Mvc.Rendering.ViewEngineResult.EnsureSuccessful()
Ama MVC olmadan ayrılırken size "/" talep index.html dosyasını vermektedir - Açıkçası benim API denetleyicileri o zaman işe yaramayacak.
ne bu yorumun dışında app.UseMvc() sorunsuz çalışıyor zaman demek istiyorsunuz ama sonra web api elbette işe yaramaz anlamıyorum? Buraya bir örnek kod verebilir misiniz? Benim wwwroot klasöründe – dotnetstep
Benim index.html dosyası var, eğer MVC herhangi bir istek/html dosyası için herhangi bir isteğini devre dışı bırakırsam, uygulama isteğimde MVC'yi etkinleştirdiğimde/istisnasıyla sonuçlanır: InvalidOperationException: 'Index' görünümü bulunamadı. Aşağıdaki konumlarda arama yapıldı: /Views/Home/Index.cshtml /Views/Shared/Index.cshtml. –
Bu nedenle, Index.html, MVC etkinleştirildiğinde bile sunulmasını istersiniz. Düşünceme göre Sorununuzla ilgisi yok çünkü siteyi IIS'de barındırıyorsanız ve index.html'yi varsayılan sayfa olarak yapıyorsanız, o zaman hizmet verecek. – dotnetstep