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

Understanding of practice usage of ASP.NET 5 Middleware

这篇很棒的文章解释了有关 ASP.NET 5 Middleware, Or Where Has My HttpModule Gone?

的事情

但是我们还不清楚什么时候以及为什么我们必须使用 ASP.NET 5 Middleware.

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

其实很简单。您将创建一个中间件来获取请求并决定:

  • 是否要处理并传递给下一个中间件。
  • 是否要处理它,生成响应并在那里切断请求生命周期。

您还可以使用一个中间件来仅对响应进行操作(例如,执行压缩的中间件)。

大部分中间件都是提供横切功能,例如路由、认证、压缩、错误处理。关于这些的一些真实示例:

这里的框架可能引起混淆,例如 MVC、SignalR 等。以前在 Katana 世界中,每个框架都创建自己的中间件以连接到系统中。对于 ASP.NET 5,这有点不同。为了让框架处理请求,您可以通过提供一个特殊的处理程序来挂接到路由中间件。例如,这里是 MVC 6 route handler. When you look at the biuilder extensions, you will see that MVC actually uses the routing middleware.