首页 > 其他分享 >.Net Core 三个常用的生命周期(transient/scope/singleton)

.Net Core 三个常用的生命周期(transient/scope/singleton)

时间:2022-12-21 19:23:02浏览次数:42  
标签:Core singleton 生命周期 请求 transient services Net 注入

1、单例(AddSingleton :注入一次,一直有效)

区别: 服务在第一次请求时被创建,后边再次请求都会沿用这个已创建的服务。

2、作用域(AddScoped :在一定的区域内 有效)

区别:服务在每次请求时被创建,整个请求过程中都会使用这个创建的服务

3、瞬时(AddTransient :每次请求都不一样 每次请求 都会重新new 一个新对象作用域)

演示生命周期

services.AddTransient<IUserService, UserService>();

services.AddScoped<IArticleService, ArticleService>();

services.AddSingleton<IProductService, ProductService>();

.

Net Core自带容器的不足点
1.不支持单接口多实现
2.不支持循环依赖注入
3.不支持属性/字段注入,只能构造函数注入,但是属性字段注入可以使用反射的方式自己实现(这里可以不依赖Autofac),这些不足都可以使用其他容器替换,由于NetCore框架良好的拓展能力,我们可以使用Autofac这个第三方依赖注入容器实现这些不足

标签:Core,singleton,生命周期,请求,transient,services,Net,注入
From: https://www.cnblogs.com/My-bokes/p/16996966.html

相关文章

  • .net core 6 console app use autofac
    Program.cs//Seehttps://aka.ms/new-console-templateformoreinformationusingAutofac;usingAutofac.Extensions.DependencyInjection;usingConsoleApp;using......
  • NetCore+Python实现视频上传mediapipe骨骼标注
     打开网页,选择视频,上传视频,解析完成后播放及视频下载   usingMicrosoft.AspNetCore.Hosting;usingMicrosoft.AspNetCore.Http;usingMicrosoft.AspNetCore.Mvc......
  • .NET Core如何通过认证机制访问Kafka?
    大家好,我是Edison。最近有一个ASP.NETCore使用认证机制访问Kafka的需求,加之我们又使用了CAP这个开源项目使用的Kafka,于是网上寻找了一番发现对应资料太少,于是调查了一番,......
  • asp.netcore Authentication
    Authenticationisforgettingtheuserinfomationfromcookie/token..Weuse Authenticationlikethis:builder.Services.AddAuthentication("cookie").AddCooki......
  • .NET Core3.1下载文件
    方法一:[HttpGet][EnableCors("userLogin")]publicIActionResultDownloadFile(stringurl,stringtoken){varfilePath="......
  • 设置 ASP.NET Core Web API 中响应数据的格式 AddNewtonsoftJson
    ASP.NETCoreMVC支持设置响应数据的格式。可以使用特定格式或响应客户端请求的格式,来设置响应数据的格式。查看或下载示例代码(如何下载)特定于格式的操作结果一些......
  • .NET Core3.1 调用AD域验证
    一、添加引用右击项目—— 管理NuGet程序包——分别搜索System.DirectoryServices、System.DirectoryServices.AccountManagement,安装二、验证[HttpPost]......
  • .net core webapi跨域处理
    一、引入cors组件右击项目——在终端中打开——dotnetaddpackageMicrosoft.AspNetCore.Cors--version2.0.1   二、配置cors在项目根目录的Startup.c......
  • 基于.NetCore开发博客项目 StarBlog - (24) 统一接口数据返回格式
    前言开发接口,是给客户端(Web前端、App)用的,前面说的RESTFul,是接口的规范,有了统一的接口风格,客户端开发人员在访问后端功能的时候能更快找到需要的接口,能写出可维护性更高的......
  • .net core 5,6,7【多线程笔记】取消令牌(CancellationToken)
    介绍在使用C#异步的场景,多多少少会接触到CancellationTokenSource。它和取消异步任务相关的,CancellationToken就是它生产出来的。演示任务取消执行回调vartokenSource......