zoukankan      html  css  js  c++  java
  • 常规中间件(Conventional Middleware) 之 自定义中间件

     //1 定义个中间件类

    public class MyMiddleware
    {
      private readonly RequestDelegate _next;
      public MyMiddleware(RequestDelegate next)
      {
        _next = next;
      }

      public async Task InvokeAsync(HttpContext context)
      {
        await _next(context);
        await context.Response.WriteAsync("custom 1");
      }

    }

    //通过IApplicationBuilder的扩展方法暴露中间件

    public static class MiddlewareExtends
    {
      public static IApplicationBuilder MyMiddleware(this IApplicationBuilder builder)
      {
        return builder.UseMiddleware<MyMiddleware>();
      }
    }

    2  注册到请求处理管道中

    public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
    {

      app.MyMiddleware();

    }

     ---------------------------------------

    注意事项:middleware中必须包含一个名称为Invoke或InvokeAsync的公共实例方法,且方法的第一个参数必须是HttpContext 类型

  • 相关阅读:
    linux创建用户与删除用户及问题解决(ubuntu)
    Build tool
    Version Control&Git
    IntelliJ IDEA激活
    KDJ 指标
    MACD 分析理解
    MACD 指标
    BOLL 指标
    IaaS,PaaS,SaaS 的区别
    Kubernetes 第十七章 调度器 污点和容忍 以及高级调度方式
  • 原文地址:https://www.cnblogs.com/xiaonanmu/p/14220487.html
Copyright © 2011-2022 走看看