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[]>();
            }

  • 相关阅读:
    kafka-eagle监控kafka
    ZABBIX自动发现Redis端口并监控
    用Redislive监控redis
    zabbix监控hbase
    zabbix监控zookeeper
    zabbix监控nginx日志状态码
    深入理解JVM-内存溢出案例演示与分析
    深入理解JVM-hotspot虚拟机对象探秘
    java开发手册-总结与补充
    IntelliJ IDEA快速自动生成Junit测试类
  • 原文地址:https://www.cnblogs.com/Mrkaisa/p/8431355.html
Copyright © 2011-2022 走看看