我已经阅读了.NET4.6中的新内容,以及我非常兴奋的是ASP.NET 5中的一个内容。
其中一个新的东西是New modular HTTP request pipeline
,但是没有更多的信息来说明它到底会发生什么变化。
唯一的这篇文章的参考是
ASP.NET 5引入了一个新的HTTP管道,它既简洁又快速。这个管道是模块化的,所以你只能添加你需要的组件。通过减少管道中的开销,您的应用程序将体验到更好的吞吐量。新的管道也支持OWIN。
ASP.NET 4.5和ASP.NET5 Http管道的主要区别是什么?如何控制模块化?
发布于 2014-12-13 10:43:42
在我看来,最大的不同是新请求管道的模块化。在过去,应用程序生命周期遵循一条相对严格的路径,您可以通过实现IHttpModule.
的类连接到该路径--这将允许您影响请求,但只能在此过程中订阅发生的不同事件(例如,BeginRequest,
、AuthenticateRequest,
等)。
这些模块的完整描述可以在MSDN:IIS 5和6或IIS 7上找到,创建这样一个模块的演练可以是在这里找到的。。
在新的ASP.NET 5世界中,请求管道与System.Web和IIS分离。它没有使用预定义的路径,而是使用中间件的概念。如果您熟悉奥林,想法是几乎相同,但基本思想是注册这些中间件组件,然后按注册顺序传递请求。
每个中间件组件都提供一个RequestDelegate
(管道中的下一个中间件组件)和当前的每个请求的HttpContext
。对于每个请求,将调用组件,然后有机会将请求传递到链中的下一个(如果适用的话)。例如,如果身份验证失败,身份验证组件可能选择不将请求传递给下一个组件。使用这个系统,你可以用任何你选择的方式来处理一个请求,并且可以像你所需要的那样轻量级或功能丰富。
这个例子现在有点过时了(例如,IBuilder
已被重命名到IApplicationBuilder
),但它仍然是构建和注册这些组件的一个很好的概述。
https://stackoverflow.com/questions/27295062
复制相似问题