MVC 6 Маршрутизация, резервирование SPA + страница ошибки 404
СRC1 изASP.NET Core 1.0's MVC 6 Вы можете наметить маршруты изнутри вашегоStartup.Configure
функция при вызовеapp.UseMvc
, Я наметил маршрут «спа-резерв», который обеспечитHomeController
а такжеIndex
view по умолчанию выглядит так:
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?}");
});
}
Я желаю отступления, чтобы мойAngular2 маршруты приложения не приведут к HTTP-коду статуса404 Не Найдено, Но мне также нужно правильно обрабатывать, когда пользователь непреднамеренно пытается перейти к просмотру страницы, который не существует. Вы можете заметить, что я также позвонилapp.UseStatusCodePagesWithRedirects("/Home/Error/{0}");
.
Призыв перенаправить на мою страницу с ошибкой с кодом состояния и маршрутом «spa-fallback» кажется взаимоисключающим - это означает, что у меня может быть только один или другой(но, к сожалению, не оба), Кто-нибудь знает, как мне удалось получить лучшее из обоих миров?