浏览器标题切换
浏览器标题切换end

Intern Day7 - ASP.Net Core管道

其实这块我没太懂,因为听的东西都是中间件带一点管道的……

管道是ASP.NET Core WEB应用的核心。

undefined

如何配置管道?也就是在我们的管道中布置中间件(有很多种扩展方法,都是由ApplicationBuilder这个接口来提供的)
在ApplicationBuilder.cs源码中有部分代码(即 使用 IApplicationBuilder 创建中间件管道 ),我们可以参考一下来理解一下管道:

//构建管道的方法
        public RequestDelegate Build()
        {
            // 中间件,就是用来报错的(没有终点就报错)
            RequestDelegate app = context =>
            {
                // If we reach the end of the pipeline, but we have an endpoint, then something unexpected has happened.
                // This could happen if user code sets an endpoint, but they forgot to add the UseEndpoint middleware.
                var endpoint = context.GetEndpoint();
                var endpointRequestDelegate = endpoint?.RequestDelegate;
                if (endpointRequestDelegate != null)
                {
                    var message =
                        $"The request reached the end of the pipeline without executing the endpoint: '{endpoint!.DisplayName}'. " +
                        $"Please register the EndpointMiddleware using '{nameof(IApplicationBuilder)}.UseEndpoints(...)' if using " +
                        $"routing.";
                    throw new InvalidOperationException(message);
                }

                context.Response.StatusCode = StatusCodes.Status404NotFound;
                return Task.CompletedTask;
            };
            
            //重要的是这两句话,管道就是这两句话构成的
            foreach (var component in _components.Reverse())
            {
                app = component(app); // 穿进去一个委托出来一个委托
            }

            return app;
        }

参考视频

  1. https://www.bilibili.com/video/BV1r7411A7Z2?from=search&seid=9070934629069273158 100mins自己去找重点

  2. https://www.bilibili.com/video/BV1Kk4y117Xy?p=6 10mins

posted @   抓水母的派大星  阅读(55)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」
点击右上角即可分享
微信分享提示