Как реализовать HttpMessageHandler в веб-API?

В проекте ASP.NET 4.5 MVC 4 Web API я хочу добавить пользовательскийHttpMessageHandler, Я'мы изменилисьWebApiConfig класс (в \ App_Satrt \ WebApiConfig.cs) следующим образом:

public static class WebApiConfig
{
    public static void Register(HttpConfiguration config)
    {
        config.Routes.MapHttpRoute(
            name: "DefaultApi",
            routeTemplate: "api/{controller}/{id}",
            defaults: new { id = RouteParameter.Optional },
            constraints: null,
            handler: new MyCustomizedHttpMessageHandler()
        );
    }
}

Затем я разработал:MyCustomizedHttpMessageHandler

public class MyCustomizedHttpMessageHandler : HttpMessageHandler
{
    protected override Task SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
    {
        IPrincipal principal = new GenericPrincipal(
            new GenericIdentity("myuser"), new string[] { "myrole" });
        Thread.CurrentPrincipal = principal;
        HttpContext.Current.User = principal;

        return Task.Factory.StartNew(() => request.CreateResponse());
    }
}

Тем не менее, запрос к API (пустьскажиhttp://mylocalhost.com/api/values), всегда возвращает код состояния 200, без каких-либо данных. Я имею в виду, что он никогда не попадет в ValuesController.cs 'ПОЛУЧИТЬ()' метод.

Что я пропустил? Как я могу реализоватьHttpMessageHandler должным образом?

PS: уже прочитал это:https://stackoverflow.com/a/12030785/538387 неужелимне не поможет

Ответы на вопрос(2)

Ваш ответ на вопрос