MVC 6 Routing -, SPA-fallback + 404-Fehler-Seite

Mit RC1 von ASP.NET Core 1.0 MVC 6 Sie können die Karte Routen innerhalb Ihrer Startup.Configure Funktion beim Aufruf app.UseMvc. Ich habe zugeordnet, ein "spa-fallback" - route, die sicherstellen, dass die HomeController und Index anzeigen werden 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?}");
    });
}

Wünsche ich den fallback, so dass meine Angular2 app die Routen führen nicht zu einem HTTP-Status-Code von 404, Nicht Gefunden. Aber ich muss auch korrekt verarbeitet, wenn ein Benutzer nicht versehentlich versuchen, navigieren Sie zu einer Seite anzeigen, der nicht existiert. Sie werden vielleicht bemerken, dass ich auch als app.UseStatusCodePagesWithRedirects("/Home/Error/{0}");.

Dem Aufruf zur Weiterleitung auf meine Fehlerseite mit dem status-code und das "spa-fallback" - route scheinen sich gegenseitig ausschließen, d.h. es wird angezeigt, dass ich nur noch den einen oder anderen (aber leider nicht beide). Weiß jemand wie ich das bewältigen könnte, haben wir das beste aus beiden Welten?

  • Derzeit ist das neue Paket finden Sie in "Microsoft.AspNetCore.SpaServices": "1.0.0-beta-000005".
  • Ich sah, dass... danke
  • würden Sie in Erwägung ziehen, die akzeptierte Antwort? Und versuchte meine street cred 😉
InformationsquelleAutor David Pine | 2016-02-10
Schreibe einen Kommentar