c# - 多次注册同一服务的目的是什么?

标签 c# asp.net-core .net-core

我最近使用当前配置运行了一个网络核心项目:

services.AddTransient<Service1>();
services.AddSingleton<Service1>();

其中 Service1 是一个类。这样做的目的可能是什么?或者这只是一个错误? 有什么办法可以选择动态使用服务的新实例还是单例?

最佳答案

最后一个注册“获胜”,因此您的 Service1 类型将在给定您当前代码的情况下注册为单例。

如果您更改调用顺序,它将被注册为 transient 依赖项。但不要两者都做。为每种类型选择一个生命周期。

关于c# - 多次注册同一服务的目的是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60340901/

相关文章:

c# - 在 ALB 上使用 Cognito 用户池进行 ASP.NET Core 身份验证

c# - 如何为 .net core razor 页面创建动态面包屑导航?

c# - 将 DbConnectionFactory 从 .net 迁移到 .net core

c# - 在没有模型绑定(bind)的情况下发布到 .NET Core Web API Controller

c# - 策略模式的实现如何在运行时选择正确的策略?

c# - 为什么它在本地堆上分配时称为 Marshal.AllocHGlobal?

c# - EF7 beta5 : Foreign Key returns null value

c# - 如何要求 HTTPS 但不重定向

c# - 通过用于 Symbol 条码扫描仪 DS4208 的 SNAPI.dll API 捕获图像

c# - 在没有数据重复的情况下转换/实例化/转换为子类/父类(super class)