DependencyInjectionScan通过服务注册描述信息完成服务的注册,可以从当前程序集扫描服务注册配置,或者从文件中加载服务注册配置信息,最终完成服务注册。
- 引入DepencencyInjectionScan库:Install-Package Microsoft.Extensions.DependencyInjection.Scan
- 使用IServiceCollection.AddScanServices()完成服务注册
- 自定义IServiceRegisteDescriptorProvider注册方法:IServiceCollection.AddScanServices(options=>{options.DescriptorProviderTypes.Add(对象);});
- 定义类实现IServiceRegisteDescriptorProvider接口
- Order设置大于0
- OnProvidersExecuting方法中增加自定义服务注册描述信息解析逻辑,并把解析结果放入context.Results中
- OnProvidersExecuted方法中在解析完成后执行,可以在该方法中进行服务信息的更新,比如移除,替换等。