c# - Microsoft.Extensions.DependencyInjection 是否使用单例概念?
问题描述
在我的项目的启动文件中,我使用 Microsoft.Extensions.DependencyInjection 以便在需要实例时,它将由依赖注入处理:
services.AddTransient<IRepository<Product>, ProductRepository>();
services.AddTransient<IRepository<Order>, OrderRepository>();
有没有办法控制是否应该返回一个新实例或同一个实例(单例)?
解决方案
对于单例,您可以使用:(每个应用程序生命周期一个实例)
services.AddSingleton(IRepository<Product>, ProductRepository>()
另一种选择是注册为范围:(每个请求一个实例)
services.AddScoped(IRepository<Product>, ProductRepository>()
推荐阅读
- spring - Hibernate EntityInterceptor (EmptyInterceptor):过滤掉所有@Transaction(readOnly=TRUE) 事务
- c++ - 重载后重载赋值 [][]
- r - ggplot2:线图“疯狂”
- jquery - 将事件处理程序附加到除一个及其后代之外的所有元素
- javascript - video.js:适用于缓冲区预加载和响应式全屏渲染?
- java - 获取两个字符串数组的所有可能组合
- javascript - Mongoose 使用 Promise 或 Async/Await 的区别?
- c++ - 构造函数中未定义的全局常量
- java - Dagger 2 - 字段注入中的空指针
- java - Java中的顺序搜索