当前位置: 首页 > 编程笔记 >

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

巴宏恺
2023-03-14
本文向大家介绍什么是AddSingleton,AddScoped,Add Transient C#Asp.net Core?,包括了什么是AddSingleton,AddScoped,Add Transient C#Asp.net Core?的使用技巧和注意事项,需要的朋友参考一下

有三种方法可以在Startup.cs中注册依赖项。即AddSingleton,AddScoped和AddTransient。

添加单例

当我们将类型注册为单例时,整个应用程序和每个请求只有一个实例可用。

它类似于具有静态对象。

该实例是为第一个请求创建的,并且在整个应用程序以及每个后续请求中都可用。

public void ConfigureServices(IServiceCollection services){
   services.AddSingleton<ILog,Logger>()
}

添加范围

当我们将类型注册为Scoped时,每个请求在整个应用程序中都可以使用一个实例。收到新请求时,将创建新实例。添加作用域指定每个请求可用一个对象。

public void ConfigureServices(IServiceCollection services){
   services.AddScoped<ILog,Logger>()
}

添加瞬态

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

public void ConfigureServices(IServiceCollection services){
   services.AddTransient<ILog,Logger>()
}


参数 添加单例 添加范围 添加瞬态
实例 每个请求/每个用户相同。 每个请求一个。 每次都不同。
弃置 应用程式关闭 请求结束 请求结束
用于 需要Singleton实施时。 每个用户具有不同行为的应用程序。 轻量级和无状态服务。
 类似资料:
  • 问题内容: 什么是selenium? 当您打开Selenium的官方页面时,您首先读到的是“什么是Selenium?”中的“ Selenium automates browser”。部分。“selenium的哪个部分适合我?”部分 下面提供了Selenium WebDriver和Selenium IDE之间的选择。由此,我推断出Selenium是一组工具,并且该集合包括IDE,WebDriver

  • 硒是什么? 当你打开Selenium的官方页面,首先看到的是“什么是Selenium”中的“Selenium自动浏览器”。节。“硒的哪一部分对我合适?”下面提供了Selenium WebDriver和Selenium IDE之间的选择。由此,我推断Selenium是一个工具集合,该集合包括IDE、WebDriver API(语言绑定)、网格、Selenium独立服务器、浏览器驱动程序。一个人必须下

  • 本文向大家介绍什么是事务?什么是锁?相关面试题,主要包含被问及什么是事务?什么是锁?时的应答技巧和注意事项,需要的朋友参考一下 答:事务就是被绑定在一起作为一个逻辑工作单元的SQL语句分组,如果任何一个语句操作失败那么整个操作就被失败,以后操作就会回滚到操作前状态,或者是上有个节点。为了确保要么执行,要么不执行,就可以使用事务。要将有组语句作为事务考虑,就需要通过ACID测试,即原子性,一致性,隔

  • 我在这里读到 写入共享引用类型<代码> 理解<代码> 在另一个地方,我阅读了以下代码: 结构人中的a是什么 名称的含义是什么: 如果想避免使用

  • 我几天前听说了Docker的事,想过去看看。 但事实上,我不知道这个“容器”的用途是什么? 什么是容器? 它能取代一个专门用于开发的虚拟机吗? 简单地说,在公司中使用Docker的目的是什么?主要的优势?