2014-07-24 2 views
1

우리는 WebApi 2를 사용하고 있으며 configuration.Routes.MapHttpRoute에서 생성 된 IHttpRoute에 DataTokens를 설정하는 방법을 찾을 수 없습니다.웹 API 2 IHttpRoute DataTokens

소스 코드를 다운로드 했으므로 DataTokens가 항상 null로 설정되어 있습니다. 버전을 설정할 수는 있지만이 값을 설정할 수는 없기 때문에 Web Api에 대한 자체 구현을 마련 했으므로 이러한 값을 사용하기 위해 이러한 값을 채울 방법이 있습니까?

많은 감사

답변

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; 
}