zoukankan      html  css  js  c++  java
  • ASP.NET Core2,通过反射批量注入程序集

     public void ConfigureServices(IServiceCollection services)
            {
                string strValue = Configuration.GetSection("Appsetings").GetSection("key").Value;
                foreach (var item in GetClassName(strValue))
                {
                    foreach (var typeArray in item.Value)
                    {
                        services.AddScoped(typeArray, item.Key);
                    }
                }
              
                services.AddMvc();
            }
            private static Dictionary<Type, Type[]> GetClassName(string assemblyName)
            {
                if (!String.IsNullOrEmpty(assemblyName))
                {
                    Assembly assembly = Assembly.Load(assemblyName);
                    List<Type> ts = assembly.GetTypes().ToList();

                    var result = new Dictionary<Type, Type[]>();
                    foreach (var item in ts.Where(s => !s.IsInterface))
                    {
                        var interfaceType = item.GetInterfaces();
                        if (item.IsGenericType) continue;
                        result.Add(item, interfaceType);
                    }
                    return result;
                }
                return new Dictionary<Type, Type[]>();
            }

  • 相关阅读:
    log4j2RCE复现
    Kernel panic: VFS: Unable to mount root fs on 08:08 解决方法
    关于QEMU/KVM中无法开启eth0网卡解决方法
    20212022年寒假学习进度04
    20212022年寒假学习进度05
    每日学习
    课程总结和加分项
    每日学习
    20212022年寒假学习进度03
    20212022年寒假学习进度01
  • 原文地址:https://www.cnblogs.com/Mrkaisa/p/8431355.html
Copyright © 2011-2022 走看看