Esempio n. 1
0
        public void LoadMultiple02()
        {
            string content1 =
                @"
# [Category] SQL
# [Description] Database connection string
# [Editor] ConnectionStringEditor
settings$c1 <- 'DSN'
";
            string content2 =
                @"
# [Category] SQL
# [Description] Database connection string
# [Editor] ConnectionStringEditor
c1 <- 'DSN'
";

            foreach (var content in new string[] { content1, content2 })
            {
                using (var sr = new StreamReader(ToStream(content))) {
                    using (var css = new ConfigurationSettingsReader(sr)) {
                        var settings = css.LoadSettings();
                        settings.Should().HaveCount(1);

                        settings[0].Name.Should().Be("c1");
                        settings[0].Value.Should().Be("DSN");
                        settings[0].ValueType.Should().Be(ConfigurationSettingValueType.String);
                        settings[0].Category.Should().Be("SQL");
                        settings[0].Description.Should().Be("Database connection string");
                        settings[0].EditorType.Should().Be("ConnectionStringEditor");
                    }
                }
            }
        }
Esempio n. 2
0
        /// <summary>
        /// </summary>
        /// <returns></returns>
        public static Configuration UseAutofacContainer(this Configuration configuration, IContainer container = null, string configurationSector = "autofac")
        {
            if (IoC.IoCFactory.IsInit())
            {
                return(configuration);
            }
            var builder = new ContainerBuilder();

            if (container == null)
            {
                try
                {
                    var settingsReader = new ConfigurationSettingsReader(configurationSector);
                    if (settingsReader != null)
                    {
                        builder.RegisterModule(settingsReader);
                    }
                }
                catch (Exception ex)
                {
                    //Console.WriteLine(ex.GetBaseException().Message);
                }
                container = builder.Build();
            }
            IoC.IoCFactory.SetContainer(new ObjectContainer(container));
            return(configuration);
        }
Esempio n. 3
0
        public void Write01()
        {
            string content =
                @"# [Category] SQL
# [Description] Database connection string
# [Editor] ConnectionString
c1 <- 'DSN'

x <- 1
";
            IReadOnlyList <IConfigurationSetting> settings;
            var sr = new StreamReader(ToStream(content));

            using (var csr = new ConfigurationSettingsReader(sr)) {
                settings = csr.LoadSettings();
            }

            var stream = new MemoryStream();

            using (var csw = new ConfigurationSettingsWriter(new StreamWriter(stream))) {
                csw.SaveSettings(settings);

                stream.Seek(0, SeekOrigin.Begin);
                using (var r = new StreamReader(stream)) {
                    var s = r.ReadToEnd();
                    s.Should().StartWith(Resources.SettingsFileHeader);
                    s.Should().Contain(content);
                }
            }
        }
        public static IContainer ConfigureContainer()
        {
            var cb = new ContainerBuilder();

            cb.RegisterType <HealthMonitorService>().As <IHealthMonitorService>();

            AutofacHostFactory.HostConfigurationAction = host =>
            {
                foreach (var endpoint in host.Description.Endpoints)
                {
                    var configuredBehaviors = new IEndpointBehavior[endpoint.Behaviors.Count];
                    endpoint.Behaviors.CopyTo(configuredBehaviors, 0);

                    endpoint.Behaviors.Clear();
                    endpoint.Behaviors.Add(new PingEndpointBehavior());

                    foreach (var configuredBehavior in configuredBehaviors)
                    {
                        if (!endpoint.Behaviors.Contains(configuredBehavior.GetType()))
                        {
                            endpoint.Behaviors.Add(configuredBehavior);
                        }
                    }
                }
            };

            var reader = new ConfigurationSettingsReader();

            cb.RegisterModule(reader);

            Container = cb.Build();

            return(Container);
        }
Esempio n. 5
0
        private static IContainer ConfigureContainer()
        {
            var cb  = new ContainerBuilder();
            var csr = new ConfigurationSettingsReader(SectionHandler.DefaultSectionName, "Files/TypeManipulation.config");

            cb.RegisterModule(csr);
            return(cb.Build());
        }
        IContainer ConfigureContainer(string configFile)
        {
            var fullFilename = @"Configuration\" + configFile + ".config";
            var csr          = new ConfigurationSettingsReader(ConfigurationSettingsReader.DefaultSectionName, fullFilename);
            var builder      = new ContainerBuilder();

            builder.RegisterModule(csr);
            return(builder.Build());
        }
        static ContainerBuilder ConfigureContainer(string configFile)
        {
            var cb           = new ContainerBuilder();
            var fullFilename = configFile + ".config";
            var csr          = new ConfigurationSettingsReader(ConfigurationSettingsReader.DefaultSectionName, fullFilename);

            cb.RegisterModule(csr);
            return(cb);
        }
        private void SetupResolveRules(ContainerBuilder builder)
        {
            var services = Assembly.Load("Himall.Service");

            builder.RegisterAssemblyTypes(services).Where(t => t.GetInterface(typeof(Himall.IServices.IService).Name) != null).AsImplementedInterfaces().InstancePerLifetimeScope();
            var reader = new ConfigurationSettingsReader("autofac");

            builder.RegisterModule(reader);
        }
Esempio n. 9
0
        static AutofacContainer()
        {
            mameTypeMapper = new Dictionary <string, Type>();
            ContainerBuilder builder = new ContainerBuilder();

            // builder.RegisterInstance<ISqlMapper>().SingleInstance();
            //builder.RegisterInstance<ISqlMapper>(new DomSqlMapBuilder().Configure("config\\SqlMap.config")).SingleInstance();
            builder.RegisterInstance <FastZip>(new FastZip()).SingleInstance();

            //DomSqlMapBuilder sqlMapbuilder = new DomSqlMapBuilder();
            //ISqlMapper sqlMapper = sqlMapbuilder.Configure("config\\SqlMap.config");
            //builder.RegisterInstance<ISqlMapper>(sqlMapper).As<ISqlMapper>().SingleInstance();

            //builder.Register<ISqlMapper>(c => new DomSqlMapBuilder().Configure("config\\SqlMap.config")).SingleInstance();

            ConfigurationSettingsReader reader = new ConfigurationSettingsReader("autofac");

            builder.RegisterModule(reader);

            //builder.Register(c => new DomSqlMapBuilder() { c.});

            foreach (ComponentElement e in reader.SectionHandler.Components)
            {
                if (e.Service.Contains(","))
                {
                    mameTypeMapper.Add(e.Name, Type.GetType(e.Service));
                }
                else
                {
                    mameTypeMapper.Add(e.Name, reader.SectionHandler.DefaultAssembly.GetType(e.Service));
                }
            }

            //if (File.Exists(Path.Combine(Config.AppRoot, "Aoto.PPS.Extensions.dll")))
            //{
            //    Assembly a = Assembly.Load("Aoto.PPS.Extensions");
            //    Type baseType = typeof(IAutoActivated);
            //    builder.RegisterAssemblyTypes(a).Where(t => baseType.IsAssignableFrom(t) && t != baseType).AsImplementedInterfaces().SingleInstance().AutoActivate();
            //}

            container = builder.Build();

            //builder.Register(c => new A { B = c.Resolve<B>() });
            //为了提供循环依赖(就是当A使用B的时候B已经初始化),需要使用OnActivated事件接口:


            //builder.Register(c => new A()).OnActivated(e => e.Instance.B = e.Context.Resolve<B>());
            //通过发射,使用PropertiesAutowired()修饰符注入属性。


            //builder.RegisterType<A>().PropertiesAutowired();
            //如果你预先知道属性的名字和值,你可以使用

            //builder.WithProperty("propertyName", propertyValue)。
        }
        /// <summary>
        ///     Configure and create dependency resolver
        /// </summary>
        public void CreateResolver()
        {
            var builder      = new ContainerBuilder();
            var configReader = new ConfigurationSettingsReader("autofac-dependencies", _diFilePath);

            builder.RegisterModule(configReader);
            builder.RegisterApiControllers(_assembly);

            var container = builder.Build();

            _resolver = new AutofacWebApiDependencyResolver(container);
        }
Esempio n. 11
0
        /// <summary>
        /// 构造函数。
        /// </summary>
        public ServerObjFactory()
        {
            LogService.LogInfo("Create ServerObjFactory Object.");
            var    builder = new ContainerBuilder();
            string path    = AppDomain.CurrentDomain.BaseDirectory;
            string config  = System.IO.Path.Combine(path, "config\\autofac-config.xml");

            if (System.IO.File.Exists(config))
            {
                IModule mConfig = new ConfigurationSettingsReader(ConfigurationSettingsReader.DefaultSectionName, config);
                builder.RegisterModule(mConfig);
            }
            container = builder.Build(ContainerBuildOptions.Default);
        }
Esempio n. 12
0
        private void SetupResolveRules(ContainerBuilder builder)
        {
            System.Reflection.Assembly assembly  = System.Reflection.Assembly.Load("TaoLa.IServices");
            System.Reflection.Assembly assembly2 = System.Reflection.Assembly.Load("TaoLa.Service");
            (from t in builder.RegisterAssemblyTypes(new System.Reflection.Assembly[]
            {
                assembly2,
                assembly
            })
             where t.Name.EndsWith("Service")
             select t).AsImplementedInterfaces <object>();
            ConfigurationSettingsReader module = new ConfigurationSettingsReader("autofac");

            builder.RegisterModule(module);
        }
Esempio n. 13
0
        private static void InitializeContainer()
        {
            // container builder
            var builder = new ContainerBuilder();
            // read configuration from App.config
            var config = new ConfigurationSettingsReader("autofac");

            // register module based on config
            builder.RegisterModule(config);
            // register MainWindow so as to inject all the properties the window has
            // builder.RegisterType<BookRepository>().As<IRepository>();
            // builder.RegisterType<MainWindow>().PropertiesAutowired();
            builder.RegisterAssemblyTypes(typeof(MainWindow).Assembly).PropertiesAutowired();
            // construct a container
            _container = builder.Build();
        }
Esempio n. 14
0
        public static IContainer ConfigureContainer()
        {
            var cb = new ContainerBuilder();

            cb.Register(l => Logger.Instance()).As <ILogger>();

            cb.RegisterType <DipsTrasportProcessor>().As <IDipsTrasportProcessor>();
            cb.RegisterType <DipsTransportService>().As <IDipsTransportService>();

            var reader = new ConfigurationSettingsReader();

            cb.RegisterModule(reader);

            Container = cb.Build();

            return(Container);
        }
Esempio n. 15
0
        private IContainer GetAutofacContainer()
        {
            var diFilePath = HostingEnvironment.MapPath("~/App_Data/dependencies.xml");

            if (!File.Exists(diFilePath))
            {
                throw new FileNotFoundException("autofac dependencies");
            }

            var builder = new ContainerBuilder();

            builder.RegisterApiControllers(Assembly.GetExecutingAssembly());

            var configReader = new ConfigurationSettingsReader("autofac-dependencies", diFilePath);

            builder.RegisterModule(configReader);

            var container = builder.Build();

            return(container);
        }
Esempio n. 16
0
        private void LoadAndWrite(string originalContent, string expectedContent)
        {
            IReadOnlyList <IConfigurationSetting> settings;
            var sr = new StreamReader(ToStream(originalContent));

            using (var csr = new ConfigurationSettingsReader(sr)) {
                settings = csr.LoadSettings();
            }

            var stream = new MemoryStream();

            using (var csw = new ConfigurationSettingsWriter(new StreamWriter(stream))) {
                csw.SaveSettings(settings);

                stream.Seek(0, SeekOrigin.Begin);
                using (var r = new StreamReader(stream)) {
                    var s = r.ReadToEnd();
                    s.Should().StartWith(Resources.SettingsFileHeader);
                    s.Should().Contain(expectedContent);
                }
            }
        }
        public static IContainer ConfigureContainer()
        {
            var cb = new ContainerBuilder();

            cb.RegisterType <StandardSchedulerService>().As <ITopshelfService>();
            cb.Register(l => Logger.Instance()).As <ILogger>();

            cb.RegisterModule(new QuartzAutofacFactoryModule());

            cb.RegisterModule(new QuartzAutofacJobsModule(Assembly.GetExecutingAssembly()));
            cb.RegisterModule(new QuartzAutofacJobsModule(typeof(IMessageDispatcherJob).Assembly));
            foreach (var assembly in CustomConfig.Instance.Assemblies)
            {
                cb.RegisterModule(new QuartzAutofacJobsModule(assembly));
            }

            var reader = new ConfigurationSettingsReader();

            cb.RegisterModule(reader);

            Container = cb.Build();

            return(Container);
        }