一.注冊的幾種類型:
services.TryAddSingleton<IHttpContextAccessor, HttpContextAccessor>();//單利模式,整個應用程序生命周期以內只創建一個實例 services.Add(new ServiceDescriptor(typeof(IAtomService<>), typeof(AtomService<>), ServiceLifetime.Scoped));//泛型注入 services.AddScoped<ISecurityService, SecurityService>();//在同一個Scope內只初始化一個實例 ,可以理解為( 每一個request級別只創建一個實例,同一個http request會在一個 scope內) services.Transient<ISecurityService, SecurityService>();//每一次GetService都會創建一個新的實例
二.注入的幾種方式:
1.構造函數注入:
2.view注入:
3.通過 HttpContext來獲取實例
4.直接注入: