Ich entwickle eine sehr einfache Anwendung SPA Stil und ich möchte nicht Rasierer verwenden, also brauche ich es nur, um HTML-Dateien (aus dem Ordner wwwroot), außer wenn die js ruft meine API-Controller auf. In Web API 2 könnten Sie den Router veranlassen, HTML-Dateien zu ignorieren, so dass sie direkt z.Wie man Routen in MVC6 ignoriert
config.Routes.IgnoreRoute("Html", "{whatever}.html/{*pathInfo}");
ähnlich wie dieses Beispiel: http://www.strathweb.com/2014/04/ignoring-routes-asp-net-web-api/ ist die IgnoreRoute Funktionalität einfach nicht umgesetzt oder hat es sich verändert?
Im Moment, wenn ich app.UseMvc() habe; in meinem Startup.cs bekommen jede Anforderung an „/“ mir diese Ausnahme bekommt:
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()
Aber wenn ich es ohne MVC verlassen dient die Datei index.html, wenn Sie „/“ anfordern - natürlich meine API-Controller wird dann aber nicht funktionieren.
Ich verstehe nicht, was meinst du, wenn Kommentar aus der app.UseMvc() es funktioniert gut, aber dann ist der Web-api wird natürlich nicht funktionieren? Können Sie bitte hier einen Beispielcode geben? – dotnetstep
in meinem Wwwroot-Ordner Ich habe eine index.html-Datei, wenn ich MVC jede Anfrage an/html die HTML-Datei zu deaktivieren, wenn ich MVC in meiner App Anfragen an/in dieser Ausnahme auslösen: InvalidOperationException: Die Ansicht 'Index' war nicht gefunden. Die folgenden Speicherorte wurden durchsucht: /Views/Home/Index.cshtml /Views/Shared/Index.cshtml. –
Sie wollen also, dass Index.html auch dann dienen soll, wenn MVC aktiviert ist.right? Meines Erachtens hat es nichts mit Ihrem Problem zu tun, denn wenn Sie die Site in IIS hosten und index.html als Standardseite erstellen, wird sie geliefert. – dotnetstep