Asp.net 在MVC 5.2.2中添加路由时中断更改

Asp.net 在MVC 5.2.2中添加路由时中断更改,asp.net,asp.net-mvc,asp.net-mvc-5.2,Asp.net,Asp.net Mvc,Asp.net Mvc 5.2,我从旧的ASP MVC版本更新到了5.2.2 在我的代码中,我正在克隆现有的属性路由以支持本地化 所以,如果我有一条像/Hallo这样的路线,那么对于一个英国文化来说就是/Hello 我的代码如下所示 var localizedRoute = new Route(slug, defaults, constraints, tokens, originRoute.RouteHandler); routeTable.Add(localizedRoute); 自从更新之后,当我试图打开一个与这样一

我从旧的ASP MVC版本更新到了5.2.2

在我的代码中,我正在克隆现有的属性路由以支持本地化

所以,如果我有一条像/Hallo这样的路线,那么对于一个英国文化来说就是/Hello

我的代码如下所示

 var localizedRoute = new Route(slug, defaults, constraints, tokens, originRoute.RouteHandler);
 routeTable.Add(localizedRoute);
自从更新之后,当我试图打开一个与这样一个路由相关的url时,我遇到了一个异常。它告诉我应该设置一个路由处理程序,因此我将代码更改为:

var localizedRoute = new Route(slug, defaults, constraints, tokens, new MvcRouteHandler());
但是当我打开url时,我得到了一个404

我也试着用

var result = target.MapRoute(key, slug, defaults, constraints);
而不是直接添加相同的结果

我做错了什么


我正在考虑尝试IDirectRouteProvider接口。有人能告诉我这是不是更好的方法吗

旁白-定位路线可能会很麻烦。只有在提供第一种语言的应用程序启动时才会添加路由。没关系,我有一个受支持的文化/语言列表,为此我添加了路由。之后,它们被修复。它在Older版本中也能工作,我想它是5.0.0