ASP.NET Web API消息处理程序

Dar*_*ren 5 asp.net-web-api dotnet-httpclient

是否可以控制自定义消息处理程序的执行顺序?

作为一个例子,我可能希望首先执行日志记录处理程序,因此我总是记录一个请求.

除了最后添加日志记录处理程序,我没有看到如何实现这一点.

config.MessageHandlers.Add(new CustomHandlerOne()); 
config.MessageHandlers.Add(new CustomHandlerTwo());
config.MessageHandlers.Add(new LoggingHandler());
Run Code Online (Sandbox Code Playgroud)

小智 8

注册处理程序的顺序决定了它们何时被调用,但是当Aliostad指出它们在俄罗斯玩偶模型中工作时,所以第一个也被称为最后一个,依此类推.

注册的句柄在传入路径中以自下而上的方式调用,在传出路径中自上而下调用.也就是说,对于传入的请求消息,首先调用最后一个条目,但是对于传出的响应消息,最后一个条目被调用.