ASP.NET Core本身已经集成了一个轻量级的IOC容器
1、services.AddTransient<IApplicationService,ApplicationService>//服务在每次请求时被创建,它最好被用于轻量级无状态服务(如我们的Repository和ApplicationService服务) 2、services.AddScoped<IApplicationService,ApplicationService>//服务在每次请求时被创建,生命周期横贯整次请求 3、services.AddSingleton<IApplicationService,ApplicationService>//Singleton(单例) 服务在第一次请求时被创建(或者当我们在ConfigureServices中指定创建某一实例并运行方法),其后的每次请求将沿用已创建服务。如果开发者的应用需要单例服务情景,请设计成允许服务容器来对服务生命周期进行操作,而不是手动实现单例设计模式然后由开发者在自定义类中进行操作。 权重: AddSingleton→AddTransient→AddScoped 1、AddSingleton的生命周期:项目启动-项目关闭 ? 相当于静态类 ?只会有一个?? 2、AddScoped的生命周期:请求开始-请求结束 ?在这次请求中获取的对象都是同一个? 3、AddTransient的生命周期:请求获取-(GC回收-主动释放) 每一次获取的对象都不是同一个 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc-3 – 使用Web.Release.config(Web.config转换)
- asp.net文件上传解决方案(图片上传、单文件上传、多文件上
- 在ASP.NET中使用回发??的jQuery模态对话框
- Google_PWA_ServiceWork_渐进式 Web 应用_给应用提供离线体
- 使用ASP.Net会员提供商忘记密码?
- asp.net – 在1个进程中创建多个Kestrel实例是否安全?
- asp.net-mvc – MVC 4 Razor – 动态命名javascript函数
- 在ASP.NET中动态加载css
- asp.net – 可以承受1000个并发用户的Web服务,响应速度为25
- asp.net – global.asax Application_Error不触发