Mat*_*ius 3 asp.net pipeline asp.net-4.5 .net-4.6 asp.net-core
我已经阅读了.NET4.6中的新内容,其中一个是ASP.NET 5,我很兴奋.
其中一个新事物是New modular HTTP request pipeline,但没有更多关于它究竟会如何改变的信息.
ASP.NET 5引入了一种精简且快速的新HTTP请求管道.此管道是模块化的,因此您只能添加所需的组件.通过减少管道中的开销,您的应用程序将获得更好的吞吐量.新管道也支持OWIN.
ASP.NET4.5和ASP.NET5 Http管道之间有哪些主要区别?如何控制模块化?
小智 6
我认为最大的区别是新请求管道的模块化.在过去,应用程序生命周期遵循一条相对严格的路径,您可以通过类实现IHttpModule.这一过程.这将允许您影响请求,但仅在某些点通过订阅发生的不同事件(例如BeginRequest, AuthenticateRequest,等) .
可以在MSDN上找到这些的完整描述:IIS 5和6或IIS 7,可以在此处找到创建此类模块的演练.
在新的ASP.NET 5世界中,请求管道与System.Web和IIS分离.它使用中间件的概念,而不是预定义的路径.如果您熟悉OWIN,那么这个想法几乎完全相同,但基本的想法是注册这些中间件组件,然后请求按照它们注册的顺序通过它们.
每个中间件组件都提供一个RequestDelegate(管道中的下一个中间件组件)和当前的HttpContext每个请求.在每个请求上,调用该组件,然后有机会将请求传递给链中的下一个(如果适用).例如,如果身份验证失败,身份验证组件可能会选择不将请求传递给下一个组件.使用此系统,您可以按照您选择的任何方式真正处理请求,并且可以像您需要的那样轻量级或功能丰富.
此示例现在有点过时(例如IBuilder 已重命名为IApplicationBuilder),但它仍然是如何构建和注册这些组件的概述.
| 归档时间: |
|
| 查看次数: |
479 次 |
| 最近记录: |