ASP.NET Core 依赖注入(AddTransient,AddScoped,AddSingleton)
ASP.NET Core主要提供了三种依赖注入的方式
- services.AddTransient<IOperationTransient, Operation>();//每次请求,都获取一个新的实例(同一个请求获取多次也会是不同的实例)
- services.AddScoped<IMyDependency, MyDependency>(); //每次请求,都获取一个新的实例(同一个请求获取多次会得到相同的实例)
- services.AddSingleton<IOperationSingleton, Operation>(); //每次请求,都获取同一个实例
使用:
ASP.NET Core 提供了一个内置的服务容器 IServiceProvider,注册服务容器中的依赖关系,如下图(用过unity的小伙伴应该很容易理解)