MVC 6-Routing, SPA-Fallback + 404-Fehlerseite
Mit RC1 von ASP.NET Core 1.0 MVC 6 Sie können Routen in Ihrem @ zuordneStartup.Configure
Funktion beim Aufrufen vonapp.UseMvc
. Ich habe eine "Spa-Fallback" -Route festgelegt, die sicherstellt, dass dasHomeController
undIndex
view sind die Standardeinstellungen wie folgt:
public void Configure(IApplicationBuilder app,
IHostingEnvironment env,
ILoggerFactory loggerFactory)
{
// ... omitted for brevity
app.UseExceptionHandler("/Home/Error");
app.UseStatusCodePagesWithRedirects("/Home/Error/{0}");
app.UseMvc(routes =>
{
routes.MapRoute("default", "{controller=Home}/{action=Index}/{id?}");
routes.MapRoute("spa-fallback", "{*anything}", new { controller = "Home", action = "Index" });
routes.MapWebApiRoute("defaultApi", "api/{controller}/{id?}");
});
}
Ich wünsche den Fallback, so dass meine Angular2ie Routen der @ App führen nicht zu einem HTTP-Statuscode von404 Nicht gefunde. Ich muss aber auch richtig damit umgehen, wenn ein Benutzer versehentlich versucht, zu einer nicht vorhandenen Seitenansicht zu navigieren. Sie könnten feststellen, dass ich auch @ angerufen haapp.UseStatusCodePagesWithRedirects("/Home/Error/{0}");
.
Der Aufruf zur Umleitung auf meine Fehlerseite mit dem Statuscode und der "Spa-Fallback" -Route scheint sich gegenseitig auszuschließen. Dies bedeutet, dass ich nur das eine oder das andere @ haben kan (aber leider nicht beides). Weiß jemand, wie ich es schaffen könnte, das Beste aus beiden Welten zu haben?