我从旧的ASP MVC版本更新到5.2.2
在我的代码中,我克隆了现有属性路由以进行本地化支持。
所以,如果我有像" / Hallo"这样的路线。它将是" / Hello"对于英国文化。
我的代码看起来像这样
var localizedRoute = new Route(slug, defaults, constraints, tokens, originRoute.RouteHandler);
routeTable.Add(localizedRoute);
因为更新我在尝试打开与此类路由相关的网址时遇到异常。它告诉我,我应该设置一个路由处理程序,所以我将我的代码更改为:
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