zoukankan      html  css  js  c++  java
  • 自定义 ADD+Option+UseMiddleware 套装中间件

     我们在net core 中经常看到这样的写法  在ConfigureServices 里面注册一个 services.AddSession(); 然后在Configure   app.UseSession(); 

    本质上 Add 集中注册 就是在ioc 注册对应服务关系

    option 用来传值  option 有2个来源  一个可以use 直接传递,另一个是ioc 注入   利用add service.configure(option)

    UseMiddleware 使用管道处理流程

     记录一下。。。主要过程

    add 方式 

            /// <summary>
            /// 直接用Option的模式去初始化
            /// </summary>
            /// <param name="services"></param>
            /// <param name="configure"></param>
            /// <returns></returns>
            public static IServiceCollection AddextFilter(this IServiceCollection services, Action<FilterOptions> configure)
            {
                services.Configure(configure);//这个是查看前面的option 模式注入 利用这个options 传递对象,在访问Value属性时这行委托
                return services.AddextendFilter();
            }

    直接传值

            public static IApplicationBuilder UseBrowserFilter(this IApplicationBuilder app, BrowserFilterOptions options)
            {
              
                return app.UseMiddleware<BrowserFilterMiddleware>(Options.Create(options));

    //IOptions<TOptions>---OptionsWrapper----直接写入对象,直接覆盖数据-----上面那个,则是不管,以Add为准(IOption则是IOC注入的) }

    调用  

            public static IApplicationBuilder UseBrowserFilter(this IApplicationBuilder app)
            {
                if (app == null)
                {
                    throw new ArgumentNullException(nameof(app));
                }
               
    
                return app.UseMiddleware<BrowserFilterMiddleware>();
               
            }
       app.UseBrowserFilter(new BrowserFilterOptions()
          {
                  EnableIE = true,
                 EnableFirefox = false
          });
  • 相关阅读:
    【Vue教程系列:第一篇】Win7 搭建Vue开发环境
    MVC 之 WebAPI 系列二
    MVC 之 WebAPI 系列一
    Javascript 截取2位小数
    Javascript 处理时间大全
    SpringBoot是如何动起来的?
    超全、超详的Spring Boot配置讲解笔记
    Java数据结构-ArrayList最细致的解析笔记
    Redis 到底是怎么实现“附近的人”这个功能的?
    02--Java Jshell的使用 最适合入门的Java教程
  • 原文地址:https://www.cnblogs.com/jasontarry/p/15376786.html
Copyright © 2011-2022 走看看