服务的生命周期
示例用到的包和命名空间
包
Microsoft.Extensions.DependencyInjection
命名空间
Microsoft.Extensions.DependencyInjection
使用单例和临时服务
RegisterServices在方法SingletonAndTransient中作为本地函数实现。其中注册了ServiceA,ServiceB,NumberService和控制器类ControllerX。NumberService和ServiceA注册为单例,ServiceB和ControllerX注册为瞬态。
public static void SingletonAndTransient()
{
Console.WriteLine(nameof(SingletonOrTransient));
static ServiceProvider RegisterService()
{
IServiceCollection services = new ServiceCollection();
services.AddSingleton<IServiceA, ServiceA>();
services.AddTransient<IServiceB, ServiceB>();
services.

这篇博客探讨了C#中的依赖注入,重点关注服务的生命周期。内容包括使用单例和临时服务,如何注册Scope服务,以及通过自定义工厂或传递现有实例的方式来管理服务。文章解释了Singleton、Transient和Scoped服务的区别,特别强调了在ASP.NET Core中Scope服务与HTTP请求的关系,并指出在释放服务时,容器会自动管理 Dispose 方法的调用。
最低0.47元/天 解锁文章
1257

被折叠的 条评论
为什么被折叠?



