.Net Core 3.0依赖注入替换 Autofac

今天早上,喜庆的更新VS2019,终于3.0正式版了呀~

有小伙伴问了一句Autofac怎么接入,因为Startup.ConfigureServices不能再把返回值改成IServiceProvider了,原来的替换依赖注入容器就不可行了,我随口说了一下Host上面.UseServiceProviderFactory

本以为就这么简单,他问我要个例子,自己折腾了一下,发现事情没有这么简单

.UseServiceProviderFactory<TContainer>要搭配Startup里面写一个ConfigureContainer(TContainer builder)

Autofac官方的IServiceCollection.AddAutofac内部实现其实是一个单例的容器注入了IServiceProviderFactory<ContainerBuilder>

 但是不在UseServiceProviderFactory<TContainer>里面配置的话,就只能

            services.AddAutofac(container=>{});

而且不能有ConfigureContainer(ContainerBuilder builder),要不然会提示

 

 

比如我们有个MyClass

    public class MyClass{public void Hello(){Console.WriteLine("Hello");}}

我们配置一下

Host

        public static IHostBuilder CreateHostBuilder(string[] args) =>Host.CreateDefaultBuilder(args).UseServiceProviderFactory(new AutofacServiceProviderFactory()) //增加.ConfigureWebHostDefaults(webBuilder =>{webBuilder.UseStartup<Startup>();});

然后

Startup.ConfigureContainer

        public void ConfigureContainer(ContainerBuilder builder){builder.RegisterType<MyClass>().SingleInstance();}

 

或者

            services.AddAutofac(container=>{container.RegisterType<MyClass>().SingleInstance();});

 

大功告成~~~

转载于:https://www.cnblogs.com/NCoreCoder/p/11577584.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/409822.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

designer一直未响应 qt_未雨绸缪及时清淤 曾是内涝重灾区 这次涵洞未积水

市政工人揭开井盖排水 楚天快报见习记者吴宜芝 通讯员王艳华城区几处铁路涵洞&#xff0c;曾经是城区内涝重灾区&#xff0c;每逢下雨&#xff0c;涵洞就成了一条无法逾越的鸿沟。然而此次持续6个多小时的降雨中&#xff0c;却均未出现严重的积水&#xff0c;也未影响交通。此次…

a标签点击事件_DOM事件机制

前言本文主要介绍DOM事件级别、DOM事件模型、事件流、事件代理和Event对象常见的应用&#xff0c;希望对你们有些帮助和启发&#xff01;一、DOM事件级别DOM级别一共可以分为四个级别&#xff1a;DOM0级、DOM1级、DOM2级和DOM3级。而DOM事件分为3个级别&#xff1a;DOM 0级事件…

如何开始了解一个新知识(Vuex)

我是歌谣 放弃很容易 但是坚持一定很酷 前言 每次做开发遇到一个新的知识点 总要思索着如何去实现这个新东西 最近来大概讲讲Vuex vuex是前端用的比较多的一个东西之一 通过一张图了解一下原理 原理和vuex产生原因 看完了整个的原理之后 安装就直接过去了 就是包管理工具 …

HDU2277_变色球

/* *题目大意: * 给定a, b, c&#xff0c;代表三种不同颜色的球的个数&#xff0c;然后规定 * 如果把任意两种不同颜色的球放在一起&#xff0c;那么它们两个 * 的颜色将变成第三种颜色的球的颜色。求判断最后所有的 * 球能否变成同一种颜色&#xff0c;如果能&#xff0c;…

.Net Core 3.0下AOP试水~~

昨天躺了一下3.0的依赖注入的雷 今天顺势把AOP做了一下调整&#xff0c;比如自动化的AOP注入 默认的Program里面的CreateHostBuilder方法增加一行 public static IHostBuilder CreateHostBuilder(string[] args) >Host.CreateDefaultBuilder(args).UseServiceProviderFactor…

golang 读取文件最后一行_测试用例是开发人员最后一块遮羞布

测试用例是开发人员最后一块遮羞布最近一周写一个比较复杂的业务模块&#xff0c;越写到后面真心越心虚。操作越来越复杂了&#xff0c;代码也逐渐凌乱了起来。比如一个接口&#xff0c;传入的是一个比较复杂的大json&#xff0c;我需要解析这个大json&#xff0c;然后根据json…

android 进度条_Android仿水波纹流球进度条控制器,实现高端大气的主流特效

今天看到一个效果挺不错的&#xff0c;就模仿了下来&#xff0c;加上了一些自己想要的效果&#xff0c;感觉还不错的样子&#xff0c;所以就分享出来了&#xff0c;话不多说&#xff0c;上图CircleView这里主要是实现中心圆以及水波特效package com.lgl.circleview;import andr…

[html] iframe父页面如何获取子页面的元素?

[html] iframe父页面如何获取子页面的元素&#xff1f; 在父页面监听 onmessage&#xff0c;子页面 postMessage。$(iframe)[0].contentWindow.document.getElementByIddocument.frames[xx].document.getElementById个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识…

怎么更换WIN7欢迎界面的背景图?

第一步&#xff1a;先单击“开端 →运转 ”&#xff0c;打开“运转 ”对话框并输入 “Regedit”&#xff08;不包含外侧引号&#xff09;&#xff1b;接着单击“确定”按钮打开注册表编辑器&#xff0c;再定位到“HKEY_LOCAL_MACHINESOFTWARE\Microsoft\Windows\CurrentVersion…

docker php composer 使用_如何使用Docker部署PHP开发环境

本文主要介绍了如何使用Docker构建PHP的开发环境&#xff0c;文中作者也探讨了构建基于Docker的开发环境应该使用单容器还是多容器&#xff0c;各有什么利弊。推荐PHP开发者阅读。希望对大家有所帮助。环境部署一直是一个很大的问题&#xff0c;无论是开发环境还是生产环境&…

1-docker安装

一、看官方地址选择平台&#xff0c;我的是centos7 系统 https://docs.docker.com/install/linux/docker-ce/centos/二、安装依赖 sudo yum install -y yum-utils device-mapper-persistent-data lvm2三、添加软件仓库&#xff0c;我们这⾥使⽤稳定版 Docker&#xff0c;执⾏下…

from 下拉框多个值提交_Git提交规范

规范的作用大多数情况下&#xff0c;看提交历史的人跟提交代码的人都不是同一个人&#xff0c;当别人阅读你的提交历史时&#xff0c;他很可能是不知道具体代码细节的&#xff0c;你如何在最短的时间内让他一眼知道每次提交的意义&#xff1a;每次提交影响的具体范围&#xff1…

[html] 给内联元素加float与给块元素加float有什么区别?

[html] 给内联元素加float与给块元素加float有什么区别&#xff1f; 内联元素加float无效个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放弃很容易&#xff0c; 但坚持一定很酷。欢迎大家一起讨论 主目录 与歌谣一起通关前端面试题

PHP---反射

所谓反射就是定义好一个类之后&#xff0c;通过ReflectionClass读取类的名字从而获取类结构信息的过程class mycoach {protected $name;protected $age;public function __construct($name,$age){$this->name $name;$this->age $age;}public function eat(){echo "…

python词云_python词云

python词云[编辑] 概述 python词云是一种构建词云的方法&#xff0c;利用通用的编程语言Python来做词云&#xff0c;虽然不如专用工具便捷&#xff0c;但是适用范围很广&#xff0c;满足了不同人对词云的个性化需求。 一.Python的介绍 Python是一种面向对象的解释型计算机程序设…

【物联网智能网关-03】GPRS模块中文短信收发

在去年年初&#xff0c;就已经推出V1.0.0的GPRS库&#xff0c;不过在这个版本上只是实现了西文短信收发和字符串方式的GPRS数据通信&#xff0c;功能还相对不完善&#xff08;参见我以前的博文《GPRS通信实现》&#xff09;。最近升级的版本&#xff0c;对以上功能进行了大幅度…

[html] html的img标签为什么要添加alt属性呢?

[html] html的img标签为什么要添加alt属性呢&#xff1f; alt 属性是一个必需的属性&#xff0c;它规定在图像无法显示时的替代文本。假设由于一些原因&#xff0c;用户无法查看图像&#xff0c;alt属性可以为图像提供替代的信息。比如&#xff1a;网速太慢src 属性中的错误浏…

蓄电池单格电压多少伏_蓄电池充电规范手册

很多用户在买完蓄电池之后第一想法就是赶紧充电&#xff0c;很多陋习让用户使用行为造成了新买的蓄电池没怎么用感觉就和旧的没啥区别。而且使用时间越来越短到头来企业还失去了很多的客户&#xff0c;德国阳光蓄电池手册整理整编了在不同的环境中我们该如何很好的去维护自己的…

1-1docker加速器

配置加速器 #编译配置 sudo vim /etc/docker/daemon.json#加入下面的数据{"registry-mirrors": ["https://docker.mirrors.aliyuncs.com"] }#阿里云的镜像&#xff1a; https://docker.mirrors.aliyuncs.com#docker-cn镜像&#xff1a;https://registry.do…

钉钉机器人关键词应答_除了用于电销,智能语音机器人可以应用哪些地方?

之前的文章探讨的是智能语音机器人在电销行业的应用&#xff0c;然而在实际的场景中&#xff0c;电销行业的应用只是大家所熟知的行业之一。对比于人工电销&#xff0c;使用智能语音机器人有着诸多优势&#xff0c;例如&#xff1a;工作效率高、意向筛选、电话录音并转化为文字…