当前位置:首页 > 体育

autofac 用Autofac替换.net core 内置容器

官方建议是使用内置容器,但有些功能不受支持,如下所示:

属性注入基于名称的注入子容器自定义生存期管理Func<T> 支持

因此,您可以使用其他第三方IOC容器,如Autofac,以下是学习使用记录

首先,准备一个接口及其实现类

publicinterfaceITestService

{

stringShowMsg();

}

publicclass testservice:ItestServiCe

{

publicstringShowMsg()

{

返回“test 123”;

}

}

第二,安装Nuget包

注入

Autofac。扩展。依赖注射

第三,在启动中配置容器。配置服务

注意:使用第三方容器,启动。配置服务必须返回IServiceProvider。

第一种方式,使用自动调整模块配置文件,原始代码修改如下:

公共服务提供者配置服务(IServiceCollection服务)

{

服务。AddMvc()。设置兼容性版本(兼容性版本。version _ 2 _ 2);

//添加自动调整

var container builder = new container builder();

集装箱造船厂。RegisterModule<。自动调整模块>();

集装箱造船厂。Populate(服务);

varcontainer = containerBuilder。build();

returnnewAutofacServiceProvider(容器);

}

自动调整模块类别,例如:

公共类自动调整模块:模块

{

protectedoverridevoidLoad(容器生成器)

{

建筑工人。RegisterType<。TestService>。().As<。ITestService>。();

// ...........

}

}

第二条路

启动。配置服务修改如下

公共服务提供商配置服务(IServiceCollection服务)

{

服务。AddMvc()。设置兼容性版本(兼容性版本。version _ 2 _ 2);

//添加自动调整

var container builder = new container builder();

//containerBuilder。RegisterModule<。自动调整模块>();

//自动注册此程序集中的所有接口

//netcore_autofac将程序集命名为空

//InstancePerLifetimeScope:同一个Lifetime生成的对象是同一个实例

//SingleInstance: singleton模式,每次调用都会使用同一个实例化对象;每次使用同一个对象;

///instanceerdependency:默认模式,每次调用都会重新实例化对象;为每个请求创建一个新对象;

集装箱造船厂。注册程序集类型(程序集。Load( "netcore_autofac ").AsImplementedInterfaces()。InstancePerLifetimeScope();

集装箱造船厂。Populate(服务);

varcontainer = containerBuilder。build();

returnnewAutofacServiceProvider(容器);

}

请参阅官方文件https://docs.Autofac.org/en/latest/integration/aspnet·core.html,了解其他autofac在中的使用。磊科

产地:

https://www . cn blogs . com/丘国超/archive/2019/06/03/10970672 . html

版权声明:本文收集自网友或由网友提供。如有侵权,请告知版主或留言,微信官方账号立即删除。

1.《autofac 用Autofac替换.net core 内置容器》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。

2.《autofac 用Autofac替换.net core 内置容器》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。

3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/tiyu/1585486.html

上一篇

魏无羡的陈情怎么来的 魏无羡的陈情怎么来的

下一篇

横琴岛 走在横琴岛上,我发现了这里被低估的秘密!

语音识别模块 市面上常用的语音识别模块主要包含哪些组件?

语音识别模块 市面上常用的语音识别模块主要包含哪些组件?

语音识别模块也称为语音识别系统。通俗地说就是一种具有识别功能的语音芯片组块,广泛应用于各行各业。高质量、耐用的语音模块不仅赋予了电子产品智能,也最大限度地为人们提供了便捷的服务。那么,市场上常用的语音识别模块都包含哪些组件呢?!今天,让我们一起来谈谈边肖久信电子。  1.功率放大器模块 为...

电容器符号 电容的单位、符号及应用注意事项

电容器符号 电容的单位、符号及应用注意事项

1.参数: 单位:法拉,简称法(F),微细加工(uF),皮法(pF)1 = 1×100万微细加工;1微法= 1×1000000皮法 误差:ⅰ5%;Ⅱ10%;Ⅲ20%   2.类型: A.瓷介电容器 B.云母电容 C.纸张电容 D.空气体电容 E.有机薄膜电容器 F.玻璃釉电容器 G.电解电...

超级电容器最新进展 超级电容产业2019年要闻盘点!

超级电容器最新进展 超级电容产业2019年要闻盘点!

随着国内储能市场的蓬勃发展,超级电容器这种高功率密度、高安全性的新型储能技术也在蓬勃发展。随着超级电容器能量密度的增加,考虑到一定的功率密度,其应用规模逐年扩大。 今年特斯拉吞麦克斯韦,广州船交付纯电动船,第二代超电动公交车下线,石墨烯超级电容器储能系统项目启动,新能源汽车产业发展规划(2021...

内置gps模块 内置GPS数传电台和GPS数传模块是怎样工作的

内置gps模块 内置GPS数传电台和GPS数传模块是怎样工作的

使用GPS定位卫星在世界各地实时定位和导航的系统称为全球卫星定位系统(GPS)。GPS可以为全球用户提供低成本、高精度的三维位置、速度、精确定时等导航信息,是卫星通信技术在导航领域应用的典范。 固特异公司生产的GPS数...

压力容器定期检验规则 压力容器储气罐使用期限说明

压力容器定期检验规则 压力容器储气罐使用期限说明

压力容器气罐使用寿命说明 空压机储气罐一般使用寿命为5-10年;超过推荐使用寿命的简单压力容器需要报废。如需继续使用,使用单位或个人必须按《压力容器定期检验规则》向当地特种设备检验机构申报检验,检验合格后方可继续使用。...

易微联 低成本改造智能家居-易微联WIFI智能开关模块

注:本文来自#原创新人#活动。成功参加活动将额外获得100枚金币。详细活动规则请戳此链接!目录 一、购买原因 二、外观展示 第三,利用感情3.阳台上放置的LED串灯(阿姨买的6.5元10米100灯,连接天猫精灵套装中的...

计算机模块考试题库 干货丨2019年最新计算机等级考试题库,全部送给备考的你

开放式桥架 开放式桥架如何应用于微模块机房

  • 开放式桥架 开放式桥架如何应用于微模块机房
  • 开放式桥架 开放式桥架如何应用于微模块机房
  • 开放式桥架 开放式桥架如何应用于微模块机房