ASP.NET Core基础之请求处理管道

 更新时间:2022年02月09日 11:52:50   作者:痕迹g  
这篇文章介绍了ASP.NET Core的请求处理管道,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

了解ASP.NET处理管道

为了理解ASP.NET Core中的请求处理管道概念,让我们修改Startup类的Configure()方法,如下所示。

在这里,我们将三个中间件组件注册到请求处理管道中。 如您所见,前两个组件是使用Use() 扩展方法注册的,因此它们有机会在请求处理管道中调用下一个中间件组件。

最后一个使用Run() 扩展方法注册,因为它将成为我们的终止组件,即它将不会调用下一个组件。

了解ASP.NET Core请求处理管道执行顺序

为了理解这一点,让我们将上面的输出与下图进行比较,以更简单的方式理解ASP.NET Core请求处理管道。

当传入的HTTP请求到达时,它首先由第一个中间件组件(即Middleware1)接收,该组件在响应流中记录“ Middleware1:传入请求”。因此,首先,我们首先在浏览器上看到此消息。

第一个中间件记录了信息,然后它将调用next()方法,该方法将在请求处理管道中调用第二个中间件,即Middleware2。

第二个中间件记录了“中间件2:传入请求”信息,因此我们在第一个日志之后看到了该日志信息。然后第二个中间件调用next(),它将在请求管道中调用第三个中间件Middleware3。

第三个中间件处理请求,然后产生响应。因此,我们在浏览器中看到的第三个信息是“ Middleware3:传入请求已处理并生成响应”。

该中间件组件是使用Run()扩展方法注册的,因此它是终端组件。因此,从这一点开始,请求管道开始反向。这意味着从该中间件将控制权交还给第二个中间件,第二个中间件将信息记录为“中间件2:外发响应”,然后将控制权交还给第一个中间件组件,第一个中间件组件记录信息就像我们在浏览器中看到的一样,是"Middleware1:外发响应"。

要记住的要点:

ASP.NET Core请求处理管道由一系列中间件组件组成,这些中间件组件将一个接一个地调用。

每个中间件组件都可以在使用next方法调用下一个组件之前和之后执行一些操作。 中间件组件还可以决定不调用下一个中间件组件,这称为短路请求管道。

asp.net核心中的中间件组件可以访问传入请求和传出响应。

您需要牢记的最重要的一点是,在Startup类的Configure方法中添加中间件组件的顺序定义了将在请求时调用这些中间件组件的顺序以及对它们的相反顺序。 响应。 因此,顺序对于定义应用程序的安全性,性能和功能至关重要。

到此这篇关于ASP.NET Core基础之请求处理管道的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • ASP.NET中MultiView和View选项卡控件的使用方法

    ASP.NET中MultiView和View选项卡控件的使用方法

    ASP.NET中的MultiView和View控件可以作为承载其他控件的容器,一般我们都很少使用,本文主要介绍使用MultiView和View实现选项卡效果。
    2016-04-04
  • c#中常用的js语句

    c#中常用的js语句

    有时候在开发中,经常输出一些js与客户端实现交互,虽然说是c#的其实好多js的,需要的朋友可以收藏下。
    2010-04-04
  • ASP.NET Core依赖关系注入

    ASP.NET Core依赖关系注入

    这篇文章介绍了ASP.NET Core中的依赖关系注入,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-04-04
  • ASP.NET Core服务生命周期

    ASP.NET Core服务生命周期

    这篇文章介绍了ASP.NET Core中的服务生命周期,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-04-04
  • ASP.NET中使用用户控件

    ASP.NET中使用用户控件

    这篇文章介绍了ASP.NET中使用用户控件的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-05-05
  • ASP.NET Core MVC中的局部视图用法

    ASP.NET Core MVC中的局部视图用法

    这篇文章介绍了ASP.NET Core MVC局部视图的用法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-04-04
  • ASP.NET Session使用详解

    ASP.NET Session使用详解

    Session是什么呢?简单来说就是服务器给客户端的一个编号。当一台WWW服务器运行时,可能有若干个用户浏览正在运正在这台服务器上的网站。
    2009-02-02
  • ASP.NET中HyperLink超链接控件的使用方法

    ASP.NET中HyperLink超链接控件的使用方法

    本文主要介绍HyperLink控件的基础用法以及在Repeater中绑定数据的一些技巧,希望能帮到大家。
    2016-04-04
  • ASP.NET web.config 配置节点详解

    ASP.NET web.config 配置节点详解

    这篇文章主要介绍了ASP.NET web.config 节点的配置,讲解的非常详细,需要的朋友可以参考下。
    2016-06-06
  • ASP.NET中 PlaceHolder 控件的使用方法

    ASP.NET中 PlaceHolder 控件的使用方法

    有时候项目中需要在页面上动态生成一些控件,所以PlaceHolder容器是个不错的选择。微软在asp.net 2.0 中给出的PlaceHolder解决方案,更加符合后台和表现分离的原则。
    2016-04-04

最新评论