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"); } } } }
/// <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); }
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); }
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); }
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); }
/// <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); }
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); }
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(); }
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); }
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); }
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); }