Z RC1 z ASP.NET MVC Rdzeń 1,0 za 6 można mapować trasy z poziomu funkcji Startup.Configure
podczas wywoływania app.UseMvc
. Mam mapowane do „spa-awaryjnej” trasą, która zapewni, że HomeController
i Index
widok są domyślnie tak:MVC 6 Routing, SPA awaryjna + 404 Error Page
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?}");
});
}
pragnę fallback tak że szlaki mojego Angular2 aplikacji nie spowoduje HTTP Kod stanu 404, nie znaleziono. Ale muszę również poprawnie obsługiwać, gdy użytkownik nieumyślnie próbuje przejść do widoku strony, który nie istnieje. Możesz zauważyć, że nazwałem również app.UseStatusCodePagesWithRedirects("/Home/Error/{0}");
.
Wywołanie przekierowania na moją stronę błędu z kodem statusu i trasą "spa-backback" wydaje się wzajemnie wykluczające - co oznacza, że wydaje mi się, że mogę mieć tylko jedną lub drugą (ale niestety nie obie). Czy ktoś wie, w jaki sposób udaje mi się osiągnąć to, co najlepsze z obu światów?
Obecnie nowy pakiet można znaleźć w "Microsoft.AspNetCore.SpaServices": "1.0.0-beta-000005". –
@SamanAhmadi, widziałem to ...dziękuję –
@DavidPine czy rozważasz zmianę akceptowanej odpowiedzi? Próbuję zbudować moją uliczną wiarygodność ;-) –