如何把自己做的网站发布到网上,厚街镇网站仿做,海淀网站开发,贵州省和城乡建设厅官方网站今天早上#xff0c;喜庆的更新VS2019#xff0c;终于3.0正式版了呀~ 有小伙伴问了一句Autofac怎么接入#xff0c;因为Startup.ConfigureServices不能再把返回值改成IServiceProvider了#xff0c;原来的替换依赖注入容器就不可行了#xff0c;我随口说了一下Host上面.Us… 今天早上喜庆的更新VS2019终于3.0正式版了呀~ 有小伙伴问了一句Autofac怎么接入因为Startup.ConfigureServices不能再把返回值改成IServiceProvider了原来的替换依赖注入容器就不可行了我随口说了一下Host上面.UseServiceProviderFactory 本以为就这么简单他问我要个例子自己折腾了一下发现事情没有这么简单 .UseServiceProviderFactoryTContainer要搭配Startup里面写一个ConfigureContainer(TContainer builder) Autofac官方的IServiceCollection.AddAutofac内部实现其实是一个单例的容器注入了IServiceProviderFactoryContainerBuilder 但是不在UseServiceProviderFactoryTContainer里面配置的话就只能 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.UseStartupStartup();}); 然后 Startup.ConfigureContainer public void ConfigureContainer(ContainerBuilder builder){builder.RegisterTypeMyClass().SingleInstance();} 或者 services.AddAutofac(container{container.RegisterTypeMyClass().SingleInstance();}); 大功告成~~~ 转载于:https://www.cnblogs.com/NCoreCoder/p/11577584.html