当前位置: 首页 > news >正文

芜湖代理公司注册百度seo规则

芜湖代理公司注册,百度seo规则,有没有做ppt好看的免费网站,网站二级目录是什么提到依赖不得不提到,控制反转(Inversion of Control,IOC)这个概念,简单的来讲就是将控制对象的权限交给框架,不再手动完成。IOC实现方式有2种: 1、服务定位器(ServiceLocator),主动…

提到依赖不得不提到,控制反转(Inversion of Control,IOC)这个概念,简单的来讲就是将控制对象的权限交给框架,不再手动完成。IOC实现方式有2种:

1、服务定位器(ServiceLocator),主动获取对象

2、依赖注入(Dependency Injection,DI),在使用的地方申明对象,由框架自动赋值。

DI好处:简化模块的组装过程,降低模块之间的耦合度。

---------------------------------------------------------------------------------------------------------------------------------DI常见概念:

1、服务(Service):对象;

2、注册服务;

3、服务容器:负责管理注册的服务

4、查询服务:创建对象及关联对象

---------------------------------------------------------------------------------------------------------------------------------根据类型获取和注册服务,需要分别指定服务类型(service type)和实现类型(implementation type),服务类型推荐用接口(可以是接口、类),实现类型只能用类。

.Net 控制反转组件取名为:DependecyInjection,也包含ServiceLocator功能

public inteface iTest{

}

public class Test:iTest{

}

---------------------------------------------------------------------------------------------------------------------------------【怎么使用】

1、Nuget 安装 Microsoft.Extensions.DependencyInjection

2、using Microsoft.Extensions.DependencyInjection

ServiceCollection services = new ServiceCollection();//定义一个承放服务的集合services.AddTransient<GetRole>();//添加一个瞬态的服务
using (ServiceProvider serviceProvider = services.BuildServiceProvider())
{//ServiceProvider 相当于服务定位器GetRole service = serviceProvider.GetService<GetRole>();service.Name = "test";service.GetName();}

---------------------------------------------------------------------------------------------------------------------------------

对象生命周期:Transient(瞬态);Scoped(范围)、Singleton(单例)

1、Transient,添加一个瞬态的服务, 每次申明服务时,会创建新的对象。

ServiceCollection services = new ServiceCollection();//定义一个承放服务的集合
services.AddTransient<GetRole>();//添加一个瞬态的服务 每次申明服务时,会创建新的对象using (ServiceProvider serviceProvider = services.BuildServiceProvider())
{   GetRole service = serviceProvider.GetService<GetRole>();service.Name = "test";service.GetName();GetRole service1 = serviceProvider.GetService<GetRole>();service1.Name = "test2";service1.GetName();//结果:service!=service1
}

2、Singleton,添加一个单例的服务 每次申明服务时,会指向同一对象。

3、Scope,添加一个范围的服务  范围内的申明的服务,会指向同一对象

注:如果申明的Singleton,在Scope范围申明的服务视为Singleton的情况。

ServiceCollection services = new ServiceCollection();//定义一个承放服务的集合services.AddScoped<GetRole>();using (ServiceProvider serviceProvider = services.BuildServiceProvider())
{   //Scope用法using (IServiceScope scope1 = serviceProvider.CreateScope()) {GetRole service     = scope1.ServiceProvider.GetService<GetRole>();service.Name = "test";service.GetName();GetRole service2 = scope1.ServiceProvider.GetService<GetRole>();service1.Name = "test";service1.GetName();//范围内service=service2}using (IServiceScope scope2 = serviceProvider.CreateScope()) {GetRole service3 = scope2.ServiceProvider.GetService<GetRole>();service.Name = "test";service.GetName();GetRole service4 = scope2.ServiceProvider.GetService<GetRole>();service1.Name = "test";service1.GetName();}//范围外service2!=service3

其他知识点:Dispose 释放资源

如果服务继承了IDisposable接口,在离开Scope范围时,会自动调用类的Dispose方法释放资源。

http://www.hkea.cn/news/164805/

相关文章:

  • 淮安做网站优化百度竞价排名是什么方式
  • 食品公司网站源码谷歌网页
  • 做网站用哪种代码比较好推广seo发贴软件
  • 3d效果图软件宁波seo行者seo09
  • 美国做按摩广告的网站网站优化教程
  • wordpress云建站教程信息流广告公司一级代理
  • 我有一个域名怎么做网站百度一下下载
  • 郑州网站建设品牌好安装百度到桌面
  • 株洲做网站定制百度灰色词优化排名
  • 上海网页设计公司兴田德润电话排名优化外包公司
  • 做360网站优化快推广普通话宣传语手抄报
  • 动态网站开发语言有哪些大学生创新创业大赛
  • 关键词推广公司网站网络排名优化方法
  • 福州移动网站建设网络营销推广工具有哪些
  • win2008sr怎么用iis做网站国外网站加速
  • 合肥++网站建设磐石网站seo
  • 万网主机怎么上传网站如何在百度上投放广告
  • 做网站时如何给文字做超链接全球疫情最新数据消息
  • 四川省住建厅官方网站3分钟搞定网站seo优化外链建设
  • 做网站阳泉巨量千川广告投放平台
  • 温岭哪里有做网站的如何自制网站
  • 知道创于 wordpress搜索引擎优化宝典
  • 乌兰县wap网站建设公司有效获客的六大渠道
  • 微信网站开发教程视频教程百度一下主页官网
  • 网站开发专业前景关键词挖掘排名
  • 网站开发属于什么职位类别seo查询站长工具
  • wordpress postmetaseoul national university
  • 商务网站的主要存在形式杭州百度快照优化公司
  • 个人备案网站做购物网站可以不班级优化大师免费下载电脑版
  • 贸易网站建设互联网广告代理加盟