首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Asp.Net MiddleWare vs HttpModules

Asp.Net MiddleWare vs HttpModules
EN

Stack Overflow用户
提问于 2015-08-08 17:11:57
回答 2查看 2.8K关注 0票数 6

从Asp.Net 5开始,我们现在有了改变或与请求和响应交互的“中间件”概念。所有这些都是在使用HttpModules之前完成的。

所以在这里我的问题。

asp.net中间件到底是什么?这个组件解决了哪些不能用HttpModules解决的问题?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-08-08 17:28:38

HttpModules在5之前的ASP.NET版本中充当请求过滤器,它们是可插入请求管道的可重用代码单元,并负责响应在HttpApplication类中定义的事件。

Middleware可以被认为是经典的HTTP moduleshandlers,一些中间件在处理身份验证、会话状态检索和持久化、日志记录等请求时会实现各种中间任务。其中一些将是产生响应的最终请求处理程序。

问题2:这个组件解决了哪些不能用HttpModules解决的问题?

  • HttpModule中,您必须根据请求的各个阶段执行代码,比如AuthenticateRequestAuthorizeRequestPostResolveRequestCache和其他名称稍显混乱的事件。中间件已经不再是这种情况了,现在一切都是有意义的。一切都只是代码的线性执行。您可以在应用程序中定义多个中间件来执行,并且每个中间件都显式地在Startup.cs文件中注册。
  • 作为开发人员,您完全控制了get的执行和顺序,而不是不知道执行的是哪个HttpModules,而不是真正控制它们的执行顺序。中间件只需修改请求并继续调用链中的下一个请求,也可以终止管道并返回结果。

参考文献

票数 7
EN

Stack Overflow用户

发布于 2019-11-21 08:39:38

两者都用于设置请求处理管道。

MiddleWare组件,用于为ASP.net核心应用程序设置请求处理管道。

HttpModules,用于为ASP.net应用程序设置请求处理管道。

是管道决定了如何处理传入的httprequest并输出httpresponse。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31896509

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档