gpt4 book ai didi

Asp.Net 中间件与 HttpModule

转载 作者:行者123 更新时间:2023-12-02 10:48:05 26 4
gpt4 key购买 nike

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

这是我的问题。

到底什么是 ASP.NET 中间件?该组件解决了哪些 HttpModule 无法解决的问题?

最佳答案

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

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

<小时/>

问题 2:该组件可以解决哪些 HttpModule 无法解决的问题?

  • HttpModule 中,你必须根据各种执行代码请求的各个阶段,例如 AuthenticateRequest , AuthorizeRequest , PostResolveRequestCache ,以及其他稍微命名困惑的事件。 中间件不再是这种情况,现在事情就有意义了。一切都只是线性执行你的代码。您可以定义多个中间件来执行在您的应用程序中,并且每个都在您的应用程序中明确注册Startup.cs 文件。

  • 作为开发人员,您可以完全控制 get 的执行内容和内容什么顺序而不是不知道哪些 HttpModule 正在执行以及并不能真正控制它们的执行顺序。中间件可以只需修改一个请求并继续调用下一个请求链,或者它可以终止管道并返回结果。

Reference

关于Asp.Net 中间件与 HttpModule,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31896509/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com