• 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 }
  • 相关阅读:
    Visual Studio color schemes
    WebForm服务器验证控件与前端js自定义验证共同使用
    Powerdesigner设计表生成SQL脚本(带有注释)
    JS日期格式化
    C# 生成小于Int数值绝对值的随机数
    LINQ解析
    Could not calculate build plan:
    Maven Tomcat webapp
    用JS来改变CSS样式
    安装 groovy eclipse 插件
  • 原文地址:https://www.cnblogs.com/wangmaolin/p/14532916.html
Copyright © 2020-2023  润新知