0

我从旧的 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());

但是当我打开网址时我得到了 404

我也尝试使用

var result = target.MapRoute(key, slug, defaults, constraints);

而不是直接添加相同的结果。

我究竟做错了什么?

我正在考虑尝试 IDirectRouteProvider 接口。有人可以告诉我这是否是更好的方法吗? http://msdn.microsoft.com/en-us/library/system.web.http.routing.idirectrouteprovider.getdirectroutes(v=vs.118).aspx

4

0 回答 0