0
我们已经实现了api服务。是否有可能找到控制器的类,它将处理来自其处理路径请求的处理器
我们在控制器中使用属性路由(config.MapHttpAttributeRoutes();
)。
我想写一个处理程序,它需要为某些特定类型的控制器工作。
是否有可能得到的实际控制类,这将在处理
protected override Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
{
//...
}
的
DelegatingHandler
的要求?
目前我可以使用他们的路径过滤它们。
你确定你需要实现'DelegatingHandler'吗?您的描述清楚地指向了“ActionFilter”。在动作过滤器内部,您可以完全访问请求,控制器和被调用的动作。 –
@FedericoDipuma该处理程序检查请求是否有效。如果它们无效,则修复错误响应直接从处理程序返回而不初始化控制器。如果我使用ActionFilter,据我所知控制器也被初始化。纠正我,如果我错了。 –
是的,但是从我能看到你*需要*知道选择哪个控制器。从[本文档](https://www.asp.net/media/4071077/aspnet-web-api-poster.pdf)中可以看到,控制器类型仅在任何DelegatingHandler执行之后且任何'过滤器'(在'HttpControllerDispatcher'内精确)。我不相信有任何其他的钩点。 –