深入浅出之----ASP.NET Core 3.1 中间件流程与路由体系

本文深入探讨了ASP.NET Core 3.1中的中间件,包括Run(), Use(), Map()的用法及其区别。介绍了中间件流程图,并详细解析了新的Endpoint Routing路由系统,如何解决早期路由系统的问题,以及Endpoint的概念和作用。同时,阐述了Startup.cs在构建中间件管道和注册Endpoint中的角色。" 96490351,7694641,Erlang并发编程:进程交互与错误处理,"['并发', 'Erlang语言', '进程管理', '错误处理']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

中间件分类

 

ASP.NET Core 中间件的配置方法可以分为以上三种,对应的Helper方法分别是:Run(), Use(), Map()。

  • Run(),使用Run调用中间件的时候,会直接返回一个响应,所以后续的中间件将不会被执行了。
  • Use(),它会对请求做一些工作或处理,例如添加一些请求的上下文数据,有时候甚至什么也不做,直接把请求交给下一个中间件。
  • Map(),它会把请求重新路由到其它的中间件路径上去。

实际中呢,Use()这个helper方法用的最多。

 

Run():

 

 这是一个使用Run方法调用的中间件,Run方法会终止整个中间件管道,它应该返回某种类型的响应。

 

Use():

 

 Use看起来和Run差不多,但是多了一个next参数。next可以用来调用请求管道中的下一个中间件。而当前的中间件也可以自己返回响应,这就忽略掉了next调用。

在next调用之前,我们可以写一些请求进来的逻辑,而在next调用之后,就相当于返回响应了,这时候也可以写一些逻辑。

在本例

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值