当前位置: 移动技术网 > IT编程>开发语言>.net > C# 加载配置文件

C# 加载配置文件

2019年02月23日  | 移动技术网IT编程  | 我要评论

12岁小情侣,阿拉斯加雪橇犬吃什么,河南戏曲大全

//加载配置文件
var builder = new configurationbuilder()
.setbasepath(directory.getcurrentdirectory())
.addjsonfile("appsettings.json", optional: false, reloadonchange: true)
.addenvironmentvariables();
configurationmanager.configuration = builder.build();

 

 //注册ioc=autofac  类

  public class iocmanager

  {

        private static ilifetimescope _container;

        public static void initialize(params string[] assemblynamepattens)

        {

            containerbuilder builder = new containerbuilder();

            _container = builder.build();

            initialize(_container, assemblynamepattens);

        }

        public static void initialize(ilifetimescope container, params string[] assemblynamepattens)

        {

            container.update(builder =>

            {

                //运行绝对路径=appdomain.currentdomain.basedirectory

                directory.getfiles(appdomain.currentdomain.basedirectory, "*.dll")

                    .where(it => regex.ismatch(it, $@"(oa|{assemblynamepattens.join("|")})\.[^\\]*\.dll"))

                    .each(it => appdomain.currentdomain.load(path.getfilenamewithoutextension(it)));

 

                //注册ioc

                var assembiles = appdomain.currentdomain.getassemblies();

                builder.registerassemblytypes(assembiles)

                    .except<idependencysingleton>()

                    .except<idependencyrequestsingleton>()

                    .as<idependency>().asself().asimplementedinterfaces();

 

                builder.registerassemblytypes(assembiles)

                    .except<idependencyrequestsingleton>()

                    .as<idependencysingleton>().asself().asimplementedinterfaces().singleinstance();

 

                builder.registerassemblytypes(appdomain.currentdomain.getassemblies())

                    .as<idependencyrequestsingleton>().asself().asimplementedinterfaces()

                    .instanceperlifetimescope();

            });

        }

 

 

        public static ilifetimescope getcontainer()

        {

            return _container;

        }

}

 

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网