Маршрут Web API с пользовательским обработчиком не работает
Я пытаюсь добавить маршрут к моему WebAPI с помощью специального обработчика сообщений, например
config.Routes.MapHttpRoute(
name: "TestRoute",
routeTemplate: "Protected/TestMe",
defaults: null,
constraints: null,
handler: new CustomHandler()
);
Код обработчика
internal class CustomHandler : DelegatingHandler
{
protected override Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
{
HttpResponseMessage respMsg = new HttpResponseMessage();
respMsg.Headers.Add("MyCustomHeader", "Test");
respMsg.StatusCode = HttpStatusCode.NoContent;
return Task.FromResult(respMsg);
}
}
но каждый раз, когда я получаю доступ к указанному маршруту, я не получаю свой собственный заголовок или код NoContent, а получаю результат от маршрута, но если я добавлю обработчик как глобальный, как этот
config.MessageHandlers.Add(new CustomHandler());
он работает и возвращает мой пользовательский заголовок и код состояния NoContent. Чего мне не хватает в настройке маршрута?