ASP.NET Core 3.X中间件

所谓中间件就是用于处理httpcontext的请求,如果某个管道可以处理这个请求了,就不用再往下传递了,直接在当前管道处理完成返回。

  public void Configure(IApplicationBuilder app, 
            IWebHostEnvironment env,
            IConfiguration configuration,
            IWelcome iWelcome,
            ILogger<Startup> logger)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }

            app.Use(next =>
            {
                logger.LogInformation("---app.use()----");
                return async httpContext =>
                {
                    logger.LogInformation("---- async httpcontext");
                    if (httpContext.Request.Path.StartsWithSegments("/first"))
                    {
                        logger.LogInformation("---first---");
                        await httpContext.Response.WriteAsync("first!!!");
                    }
                    else
                    {
                        logger.LogInformation("---next(httpcontext----");
                        await next(httpContext);
                    }
                };
            });

            app.UseWelcomePage(new WelcomePageOptions
            {
                Path = "/welcome"
            });

            app.UseRouting();

            app.UseEndpoints(endpoints =>
            {
                endpoints.MapGet("/", async context =>
                {
                    //var welcome = configuration["welcome"];
                    var welcome = iWelcome.GetMessage();
                    await context.Response.WriteAsync(welcome);
                });
            });

在上面的例子中使用了app.Use()中间件,里面实现了对输入的http的请求处理。
浏览器输入http://localhost:5000/first

在这里插入图片描述
浏览器输入http://localhost:5000/welcome
在这里插入图片描述
浏览器输入http://localhost:5000/
在这里插入图片描述
从这可以看出管道的作用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值