/// <summary>
        /// 添加依赖注入初始化
        /// </summary>
        /// <param name="services"></param>
        /// <returns></returns>
        public static IServiceCollection AddDependencyConfig(this IServiceCollection services)
        {
            IDependencyTypeFinder dependencyTypeFinder = services.GetOrAddTypeFinder <IDependencyTypeFinder>(assemblyFinder => new DependencyTypeFinder(assemblyFinder));

            Type[] dependencyTypes = dependencyTypeFinder.FindAll();

            foreach (var dependencyType in dependencyTypes)
            {
                // 注册服务
                AddToServices(services, dependencyType);
            }

            return(services);
        }
Esempio n. 2
0
        /// <summary>
        /// 将模块服务添加到依赖注入服务容器中
        /// </summary>
        /// <param name="services">依赖注入服务容器</param>
        /// <returns></returns>
        public override IServiceCollection AddServices(IServiceCollection services)
        {
            ServiceLocator.Instance.SetServiceCollection(services);

            services.AddTransient(typeof(Lazy <>), typeof(Lazier <>));

            //查找所有自动注册的服务实现类型
            IDependencyTypeFinder dependencyTypeFinder =
                services.GetOrAddTypeFinder <IDependencyTypeFinder>(assemblyFinder => new DependencyTypeFinder(assemblyFinder));

            Type[] dependencyTypes = dependencyTypeFinder.FindAll();
            foreach (Type dependencyType in dependencyTypes)
            {
                AddToServices(services, dependencyType);
            }

            return(services);
        }