.NET - Scrutor

简介: 该文档介绍了Scrutor库的安装和使用。在命令行中,可以使用`NuGet\Install-Package Scrutor -Version 4.2.1`来安装。Scrutor提供了两个扩展方法给`ServiceCollection`:`Scan`和`Decorate`。`Scan`用于从指定程序集中扫描并批量注册符合规则(如以"Service"结尾的类)的服务,注册类型为其实现的接口,并设置为Scoped生命周期。`Decorate`则用于装饰已注册的服务。

安装

命令行

PM > NuGet\Install-Package Scrutor -Version 4.2.1

使用

装配扫描

Scrutor有两个针对服务集合ServiceCollection类的扩展方法:ScanDecorate

Scan方法用于扫描指定程序集,并按指定规则进行批量注册。

Decorate方法用于装饰已注册服务。

Scan

services.Scan(scan => scan.FromAssemblyOf<Program>() // 扫描 Program 类所在的程序集
    .AddClasses(classes => classes.Where(t => t.Name.EndsWith("Service", StringComparison.OrdinalIgnoreCase))) // 筛选需要注册的类型
    .AsImplementedInterfaces() // 暴露注册类型的接口为服务标识
    .WithScopedLifetime()); // 指定生命周期模式为 Scoped
相关文章
|
20天前
|
机器学习/深度学习 物联网 C#
一文带你了解.NET能做什么?
.NET是一个开源(MIT License)、免费、跨平台的开发平台框架,用于生成多种类型的应用程序。.NET 可以运行使用多种语言(C#、Visual Basic、F#)编写的程序,其中C#是最常用的语言。
23 7
|
算法 编译器 开发工具
|
网络协议
|
SQL 人工智能 前端开发
|
网络协议