Jua*_*gui 4 asp.net asp.net-mvc
从Asp.Net 5开始,我们现在有了"中间件"概念来改变请求和响应或与之交互.所有这些都是在使用HttpModules之前完成的.
所以这是我的问题.
什么是asp.net中间件以及该组件解决了哪些问题无法通过HttpModules解决?
HttpModules充当5.之前的ASP.NET版本中的请求过滤器.它们是可重用的代码单元,可以插入到请求管道中,并负责响应在HttpApplication类中触发的事件.
Middleware可以被看作既HTTP modules和handlers我们已经在经典ASP.NET.一些中间件在处理诸如认证,会话状态检索和持久性,日志记录等请求时将实现各种中间任务.其中一些将是产生响应的最终请求处理程序.
在一个HttpModule,你必须根据要求的不同阶段来执行代码,事情如AuthenticateRequest,
AuthorizeRequest,PostResolveRequestCache,等稍微容易混淆的命名事件.中间件不再是这种情况,现在的事情才有意义.一切都只是代码的线性执行.您可以定义多个中间件在应用程序中执行,并且每个中间件都在Startup.cs文件中明确注册.
作为开发人员,您可以完全控制执行的内容以及执行顺序,而不是不知道哪些HttpModule正在执行,而不是真正控制其执行顺序.中间件可以简单地修改请求并继续调用链中的下一个请求,或者它可以只是终止管道并返回结果.
| 归档时间: |
|
| 查看次数: |
1057 次 |
| 最近记录: |