了解ASP.NET 5中间件的实践用法

Dev*_*per 7 .net middleware asp.net-core

这篇伟大的文章解释了有关ASP.NET 5中间件的问题,或者我的HttpModule已经去了哪里?

但目前还不清楚我们何时以及为何要使用ASP.NET 5中间件.

任何人都可以解释它并提供其使用的真实例子吗?

tug*_*erk 5

它实际上非常简单.您将创建一个中间件来获取请求并决定:

  • 是否要处理它并将其传递给下一个中间件.
  • 是否要处理它,生成响应并在那里减少请求生命周期.

您还可以使用中间件来响应响应(例如,执行压缩的中间件).

大多数中间件都提供交叉切割功能,例如路由,身份验证,压缩,错误处理.关于这些的几个真实世界的例子:

一个混乱可能是围绕framworks,如MVC,SignalR等.以前在Katana世界中,每个框架都创建了每个自己的中间件以挂钩到系统中.在ASP.NET 5中,这有点不同.为了使框架能够处理请求,您可以通过提供特殊处理程序来挂钩路由中间件.例如,这是MVC 6路由处理程序.当您查看biuilder扩展时,您将看到MVC实际上使用了路由中间件.