Con RC1 di ASP.NET 1.0 Nucleo di MVC 6 è possibile mappare i percorsi all'interno vostra funzione Startup.Configure
quando si richiama app.UseMvc
. Ho tracciato un percorso "spa-fallback", che farà in modo che il HomeController
e Index
vista sono le impostazioni di default in questo modo:MVC 6 Routing, SPA fallback + 404 errore pagina
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?}");
});
}
desidero il fallback in modo che le rotte mio Angular2 di app non si tradurrà in un HTTP Codice di stato di 404, non trovato. Ma devo anche gestire correttamente quando un utente tenta inavvertitamente di navigare verso una visualizzazione di pagina che non esiste. Potresti notare che ho anche chiamato app.UseStatusCodePagesWithRedirects("/Home/Error/{0}");
.
La chiamata per reindirizzare alla mia pagina di errore con il codice di stato e l'itinerario "spa-fallback" sembrano escludono a vicenda - che significa che sembra che io possa avere solo uno o l'altro (ma purtroppo non entrambi). Qualcuno sa come potrei riuscire ad avere il meglio di entrambi i mondi?
Attualmente il nuovo pacchetto è disponibile in "Microsoft.AspNetCore.SpaServices": "1.0.0-beta-000005". –
@SamanAhmadi, ho visto che ...grazie –
@DavidPine prenderemo in considerazione la modifica della risposta accettata? Cercando di costruire il mio credito per la strada ;-) –