Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net core 如何在.ASP.NET Core 5中重写路由?_Asp.net Core_Routes_Asp.net Core 5.0_Asp.net Core Routing - Fatal编程技术网

Asp.net core 如何在.ASP.NET Core 5中重写路由?

Asp.net core 如何在.ASP.NET Core 5中重写路由?,asp.net-core,routes,asp.net-core-5.0,asp.net-core-routing,Asp.net Core,Routes,Asp.net Core 5.0,Asp.net Core Routing,我想覆盖ASP.NET Core 5中的路由 我试过这个,但不起作用 var lastExistingRoute= routeBuilder.Routes.FirstOrDefault(x => ((Route)x).Name == "HomePage"); routeBuilder.Routes.Remove(lastExistingRoute); routeBuilder.MapRoute("HomePage

我想覆盖ASP.NET Core 5中的路由

我试过这个,但不起作用

var lastExistingRoute= routeBuilder.Routes.FirstOrDefault(x => ((Route)x).Name == "HomePage");
            routeBuilder.Routes.Remove(lastExistingRoute);
            routeBuilder.MapRoute("HomePage", "",
                new { controller = "CustomPage", action = "Homepage", });


  var lastDownloadRoute=routeBuilder.Routes.FirstOrDefault(x => ((Route)x).Name == "GetDownload");
            routeBuilder.Routes.Remove(lastDownloadRoute);
            routeBuilder.MapRoute("GetDownload", "download/getdownload/{guid}/{agree?}",
                new { controller = "AzTechProduct", action = "GetPayed", });

为我创建了具有不同显示顺序的同一路线

这很好,在插入同名的新路由时不会引发任何异常

 public void RegisterRoutes(IEndpointRouteBuilder endpointRouteBuilder)
        {
           
            endpointRouteBuilder.MapControllerRoute("NewCheckout", "onepagecheckout",
                      new { controller = "NewCheckout", action = "OnePageCheckout" });
                    
        }

       
            return string.Empty;
        }

    public int Priority
        {
            get
            {
                return 100;
            }
        }
    }

您是否遇到任何错误或异常?通常,我们使用,并使用UseRouting()和UseEndpoints()来配置Asp.net core 5中的路由,但是从您的代码来看,您似乎希望使用UseMvc()方法来配置路由,对吗?如果是这种情况,则应在ConfigureServices方法中禁用端点路由:
services.AddMvc(Op=>{Op.EnableEndpointRouting=false;})@ZhiLv-简单添加新路线对我有效。此代码引用符合.Net Core 3.10 endpointRouteBuilder.MapControllerRoute(“NewCheckout”、“onepagecheckout”、new{controller=“NewCheckout”、action=“onepagecheckout”});好的是,即使注册了相同的routename,它也不会抛出任何异常