在 ASP.NET Web API 中,HTTP 请求和响应在服务器上的管道中处理。
如果我想在管道的早期阶段添加一些逻辑或全局行为,我应该在消息处理程序中进行。(例如:身份验证)
但是 Http 模块管道呢?它在整个故事中的位置?
查看 web api 生命周期的编号阶段:
http://i.stack.imgur.com/jkQe8.jpg
但是查看 Http 模块一般事件(包含更多但...)
问题 :
— 这两个系统如何结合以及在哪里结合?我的意思是如果有 1 张包含 web api 和 http 模块的图片,数字会是多少?(我在图像中添加了数字以便于参考)
— 我总是听说如果我想在管道中更早地做事,我应该使用消息处理程序,但是 HttpModule 的BeginRequest
例子呢?我知道在这个阶段有些对象是空的,但是 httpmodule 的后期阶段确实会膨胀 HttpContetxt 的对象 - 然而,webapi 的人说:使用 MessageHandlers ......(它与 selfhoster 环境的事实有关)?