/// <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); }
/// <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); }