ServiceLifetime 服务的生命周期详解


ServiceLifetime  服务的生命周期

在Asp.Net Core中,内置容器负责管理服务的生命周期,从被依赖注入容器创建开始,等我们调用完服务时,到容器释放该服务的所有实力为止,有几种形式表现:

  •   Transient:每次请求服务时,都会创建一个新实例,这种生命周期适合用于轻量级服务(如Repository和ApplicationService服务)。
  •   Scoped:为每个HTTP请求创建一个实例,生命周期将横贯整次请求。
  •   SingleTon:在第一次请求服务时,为该服务创建一个实例,之后每次请求将会使用第一次创建好的服务。
  •   Instance:与SingleTon类似,但在应用程序启动时会将该实例注册到容器中,可以理解为比SingleTon还早存在。

使用方式

应用程序中相关服务的控制生命周期的方法时通过相应的Add*指定,如下三种,当然还可以通过扩展方法来简化ConfigurationServices方法中所见的代码数量。

C# 全选
services.AddTransient<IApplicationService, ApplicationService>();
services.AddScoped<IApplicationService, ApplicationService>();
services.AddSingleton<IApplicationService, ApplicationService>();

 

版权声明:本文为开发框架文库发布内容,转载请附上原文出处连接
C/S框架网
上一篇:HTTP Error 500.31 - Failed to load ASP.NET Core runtime 解决方案
下一篇:To run this application ,you must install .NET解决方案
评论列表

发表评论

评论内容
昵称:
关联文章

ServiceLifetime 服务生命周期详解
VUE生命周期DOM对象方法、回调函数和属性详解
WCF开发框架 - vs发布IIS承载(IIS Hosting)WCF应用服务详解
C/S系统快速开发平台采用Windows服务承载WCF服务器
C# ASP.NET WebApi服务器搭建详解 - Win服务承载(Windows Service Hosting宿主)
WCF快速开发框架 - IIS承载WCF服务wsHttpBindings配置详解(HTTP协议)
C# ASP.NET WebApi服务器搭建详解 - IIS服务承载(IIS Hosting IIS宿主)
《CS系统开发框架V4.3-服务端及连接策略详解》.pdf
CSFramework.WebApi后端框架Token令牌体系架构与应用详解
DevExpress SummaryItem.SummaryType详解
C#调用C++编译DLL详解
SQLServer连接字符串连接池详解,Pooling=True/False区别
C# WebService代理类详解
C#.NET 实体框架EF(Entity Framework)详解
【原创】WCF开发框架 - 采用wsHttpBinding及basicHttpBinding连接https协议WCF服务
调用WCF服务System.ServiceModel.ServiceActivationException:"无法激活请求服务"
vs使用添加服务引用方式连接HTTPS协议WCF服务
ASP.NET MVC中几种常用ActionResult详解
从注册表强制卸载已禁用Windows服务
C# 从注册表获取Windows服务文件路径