什么是 AddSingleton、AddScoped 和 Add Transient C# Asp.net Core?

WBOY
发布: 2023-09-05 22:21:17
转载
1474 人浏览过

什么是 AddSingleton、AddScoped 和 Add Transient C# Asp.net Core?

可以通过三种方式在 Startup.cs 中注册依赖项。 IE。 AddSingleton、AddScoped 和 AddTransient。

添加 Singleton

当我们将一种类型注册为单例时,整个过程中只有一个实例可用。 application and for every 请求。

It is similar to having a static object.

The instance is created for the first request and the same is available throughout the 应用程序和每个后续请求。

public void ConfigureServices(IServiceCollection services){
   services.AddSingleton<ILog,Logger>()
}
登录后复制

添加Scoped

当我们将一个类型注册为Scoped时,一个实例在整个 按请求申请。当新的请求到来时, 新实例已创建。添加范围指定每个对象可用一个对象 请求。

public void ConfigureServices(IServiceCollection services){
   services.AddScoped<ILog,Logger>()
}
登录后复制

添加瞬态

当我们将一个类型注册为瞬态时,每次都会创建一个新的实例。瞬态 为每个服务/控制器以及每个请求创建新实例 每个用户。

public void ConfigureServices(IServiceCollection services){
   services.AddTransient<ILog,Logger>()
}
登录后复制

参数 添加 Singleton 添加 Scoped 添加 Transient
实例 每个请求/每个
user.每个请求一个。 不同的 每次。 Disposed 应用关闭 请求结束 请求结束 Used in 当单例 实现是必需的。 具有不同 每个用户的行为。 重量轻, 每个用户的行为。 轻量级和 无状态服务。

以上是什么是 AddSingleton、AddScoped 和 Add Transient C# Asp.net Core?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:tutorialspoint.com
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!