Custom Delegating Handler specific to a Controller in ASP.NET Web API
.net-4.0, asp.net-web-api, c#
Solution
At the end of this article it explains how to apply handlers only to certain routes: http://www.asp.net/web-api/overview/working-with-http/http-message-handlers. You may have to create a unique handler for your controller for it to apply to that controller only.
config.Routes.MapHttpRoute(
name: "MyCustomHandlerRoute",
routeTemplate: "api/MyController/{id}",
defaults: new { controller = "MyController", id = RouteParameter.Optional },
constraints: null,
handler: HttpClientFactory.CreatePipeline(new HttpControllerDispatcher(config), new MyCustomDelegatingMessageHandlerA());
);
Regarding how the pipeline of per-route message handlers would look like, you can look here.
Problem
I have written a Custom Delegating Handler which add custom headers to the response & checks in the request . I added the handles in WebAPi configuration `config.MessageHandlers.Add(new customHandler());` But the issue is applies to all the controllers. I need to apply custom header specific to a controllers. Is it possible to add custom handlers specific to a controller?