.NET - Scrutor
安装
命令行
PM > NuGet\Install-Package Scrutor -Version 4.2.1
使用
装配扫描
Scrutor
有两个针对服务集合ServiceCollection
类的扩展方法:Scan
和Decorate
Scan
方法用于扫描指定程序集,并按指定规则进行批量注册。
Decorate
方法用于装饰已注册服务。
Scan
services.Scan(scan => scan.FromAssemblyOf<Program>() // 扫描 Program 类所在的程序集
.AddClasses(classes => classes.Where(t => t.Name.EndsWith("Service", StringComparison.OrdinalIgnoreCase))) // 筛选需要注册的类型
.AsImplementedInterfaces() // 暴露注册类型的接口为服务标识
.WithScopedLifetime()); // 指定生命周期模式为 Scoped