从Asp.Net 5开始,我们现在有了改变或与请求和响应交互的“中间件”概念。所有这些都是在使用HttpModules之前完成的。
所以在这里我的问题。
asp.net中间件到底是什么?这个组件解决了哪些不能用HttpModules解决的问题?
发布于 2015-08-08 17:28:38
HttpModules在5之前的ASP.NET版本中充当请求过滤器,它们是可插入请求管道的可重用代码单元,并负责响应在HttpApplication类中定义的事件。
Middleware可以被认为是经典的HTTP modules和handlers,一些中间件在处理身份验证、会话状态检索和持久化、日志记录等请求时会实现各种中间任务。其中一些将是产生响应的最终请求处理程序。
问题2:这个组件解决了哪些不能用HttpModules解决的问题?
HttpModule中,您必须根据请求的各个阶段执行代码,比如AuthenticateRequest、AuthorizeRequest、PostResolveRequestCache和其他名称稍显混乱的事件。中间件已经不再是这种情况了,现在一切都是有意义的。一切都只是代码的线性执行。您可以在应用程序中定义多个中间件来执行,并且每个中间件都显式地在Startup.cs文件中注册。参考文献
发布于 2019-11-21 08:39:38
两者都用于设置请求处理管道。
MiddleWare组件,用于为ASP.net核心应用程序设置请求处理管道。
HttpModules,用于为ASP.net应用程序设置请求处理管道。
是管道决定了如何处理传入的httprequest并输出httpresponse。
https://stackoverflow.com/questions/31896509
复制相似问题