工具方法类DependencyInjection

复制代码
public class DependencyInjection
    {
        public static DependencyInjection Instance { get; private set; }

        static DependencyInjection()
        {
            Instance = new DependencyInjection();
        }

        public IServiceProvider Register(IServiceCollection services)
        {
            var builder = new ContainerBuilder();

            builder.AddServiceModule();
           
            if (services != null)
                builder.Populate(services);

            IContainer _container = builder.Build();

            return new AutofacServiceProvider(_container);
        }

        public IServiceProvider Register(IServiceCollection services, Action<ContainerBuilder> actionBefore)
        {
            var builder = new ContainerBuilder();
            actionBefore?.Invoke(builder);
            if (services != null)
                builder.Populate(services);
            IContainer _container = builder.Build();
            return new AutofacServiceProvider(_container);
        }

        public IContainer Configure()
        {
            ContainerBuilder containerBuilder = new ContainerBuilder();
            containerBuilder.AddServiceModule();
            return containerBuilder.Build();
        }
         
    }
复制代码

 

posted @   BloggerSb  阅读(18)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
历史上的今天:
2020-11-23 有搜索功能的下拉框插件chosen.jquery.js
2015-11-23 sql server服务看不到,显示为远程过程调用在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误10061
点击右上角即可分享
微信分享提示