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
          });
  • 相关阅读:
    工业网络的物理隔离与数据采集
    从勒索软件到工控系统网络安全
    数据结构导论之第五章图
    数据结构导论之第六章查找表
    数据结构导论之第七章排序
    数据结构导论之第三章(栈、队列、数组)
    第八章、网络安全基础
    第七章、无线与移动网络
    第六章、物理层
    第五章、数据链路层与局域网
  • 原文地址:https://www.cnblogs.com/jasontarry/p/15376786.html
Copyright © 2011-2022 走看看