我们正在使用WebApi 2,我找不到在配置创建的IHttpRoute上设置DataTokens的方法.Routes.MapHttpRoute。
我下载了源代码,看起来DataTokens总是设置为null。有没有办法填充这些值,因为我们想要使用这些值,因为我们已经为Web Api提出了我们自己的区域实现,这也允许我们进行版本但不能设置这些值导致我们出现问题。
非常感谢
答案 0 :(得分:0)
我继续查看源代码并决定添加此扩展但是必须有一个原因,为什么DataTokens被取消,我担心我会以这种方式导致其他地方重载的问题,因为它很简单为什么不是最初包含此过载。任何人都可以建议为什么这是一个坏主意?
public static IHttpRoute MapHttpRoute(this HttpRouteCollection routes, string name, string routeTemplate, object defaults, object constraints, HttpMessageHandler handler, object dataTokens)
{
HttpRouteValueDictionary defaultsDictionary = new HttpRouteValueDictionary(defaults);
HttpRouteValueDictionary constraintsDictionary = new HttpRouteValueDictionary(constraints);
HttpRouteValueDictionary dataTokensDictionary = new HttpRouteValueDictionary(dataTokens);
IHttpRoute route = routes.CreateRoute(routeTemplate, defaultsDictionary, constraintsDictionary, dataTokens: dataTokensDictionary, handler: handler);
routes.Add(name, route);
return route;
}