我应该在 Simple Injector 中使用 Singleton 注册吗?

Should I use Singleton registrations in Simple Injector?

在我的注册表中,我将很多东西注册为 Singleton

我这样做是因为它们都是线程安全的并且没有状态。因此,内存中的一个实例就可以了。

我也在为需要 context/state 的类型使用 AsyncScoped 生活方式,但与我拥有的单身注册数量相比,它们很少而且相差甚远。

将线程安全的无状态类型注册为单例有什么问题吗?

这其实是一个很难回答的问题。有两个通用的 DI Composition Models 可以用来构建依赖图:

两种模型各有利弊,但只有当您整体应用环境合成模型时,您才能将您的组件注册为单例。

我开始写关于这两个模型的博客 here