• net5 自定义 中间件


    net5常用的中间件

    1.app.Run,中断式,只要是使用当前中间件,后面的中间件都不执行;
    2.app.Map,判断路径中是否包含什么内容;
    3.app.MapWhen判断式,两个委托,第一个委托作为判断条件内容,第二个委托,是要执行的逻辑;
    ps:中间件的执行方式是一个俄罗斯套娃:-----典型的Aop应用,类似的还有Filter 

    自定义中间件

    要求

    1. 构造函数传递一个RequestDelegate的参数类型
    2. 包含一个async Task 的方法,该方法的参数为HttpContext 
     1  public class CustomMiddleWare
     2  {
     3     private readonly RequestDelegate _next;
     4 
     5     public CustomMiddleWare(RequestDelegate next)
     6     {
     7         _next = next;
     8     }
     9     public async Task Invoke(HttpContext context)
    10     {
    11         await context.Response.WriteAsync($"<p>{nameof(CustomMiddleWare)},Hello World1!</p>");
    12         await _next(context);//---------------------这块是为了执行下一个中间件
    13         await context.Response.WriteAsync($"<p>{nameof(CustomMiddleWare)},Hello World1!</p>");
    14     }
    15 }

    在Startup中引入就行

    1 public void Configure(IApplicationBuilder app, IWebHostEnvironment env, ILoggerFactory loggerFactory)
    2 {
    3     app.UseMiddleware<CustomMiddleWare>(); //使用自定义中间件
    4 }
  • 相关阅读:
    Thinkphp6.0/TP6框架中新增函数的解释及用法
    PHP7.1的几个新特性
    tp6数据库mysql调试
    nginx基本配置
    redis配置
    redis的笔记
    thinkphp学习笔记
    vsCode软件相关快捷键
    erlang随笔3--OTP
    文献综述二十:基于UML技术的客户关系管理系统实现
  • 原文地址:https://www.cnblogs.com/wangmaolin/p/14532916.html
Copyright © 2020-2023  润新知