使用asp.net核心启用角度路由

时间:2017-03-21 09:03:45

标签: c# asp.net angularjs asp.net-core

我正在尝试构建一个Web应用程序,其中asp.net core用于后端,而angular 1.5.x用于前端。问题是如何使服务器分析角度路由。我将这些代码行添加到startup.cs,并且evry的工作正常:

 DefaultFilesOptions options = new DefaultFilesOptions();
            options.DefaultFileNames.Clear();
            options.DefaultFileNames.Add("Index.html");
            app.Use(async (context, next) =>
            {
                await next();

                if (context.Response.StatusCode == 404 && !Path.HasExtension(context.Request.Path.Value))
                {
                    context.Request.Path = "/Index.html";
                    await next();
                }
            })
            .UseCors("AllowAll")
            .UseDefaultFiles(options)
            .UseStaticFiles()
            .UseIdentity()
            .UseMvc();

但我觉得这不是一个好习惯,这个问题应该在appsettings.json中解决。任何想法?

1 个答案:

答案 0 :(得分:1)

答案(主要是)在UseMVC选项中...... 你应该实现服务器端路由,如图所示

    app.UseMvc(routes =>
{
    routes.MapRoute(
        name: "default",
        template: "{controller=Home}/{action=Index}/{id?}");

    routes.MapSpaFallbackRoute("spa-fallback", new { controller = "Home", action = "Index" });
});

查看此link