protected override void Load(ContainerBuilder builder) { // 注册核心库 // 注册 Kafka builder.Register(c => new KafkaService(c.Resolve <IConfiguration>().GetValue <string>("KafkaHost"), c.Resolve <IConfiguration>().GetValue <string>("KafkaPort"))) .As <IKafkaService>() .SingleInstance(); // 注册Redis builder.Register(c => new RedisClient( c.Resolve <IConfiguration>().GetValue <string>("RedisHost"), c.Resolve <IConfiguration>().GetValue <string>("RedisPort") ) ).AsImplementedInterfaces().SingleInstance(); // 注册Zookeeper builder.Register(c => ZookeeperClient.InitClientConnection(new string[] { "ali.wwbweibo.icu" }, new string[] { "2181" })) .As <ZookeeperClient>().SingleInstance(); // 注册Handler builder.RegisterTypes(ThisAssembly.GetTypes().Where(p => p.Namespace.EndsWith("Handler")).ToArray()) .AsSelf().PropertiesAutowired().SingleInstance(); // 注册Service builder.RegisterTypes(ThisAssembly.GetTypes().Where(p => p.Namespace.EndsWith("Services")).ToArray()) .AsSelf() .PropertiesAutowired() .SingleInstance(); }
protected override void Load(ContainerBuilder builder) { builder.RegisterTypes(ThisAssembly.GetTypes()) .AsSelf() .AsImplementedInterfaces() .SingleInstance(); }
protected override void Load(ContainerBuilder builder) { var controllers = ThisAssembly.GetTypes().Where(ss => ss.FullName.StartsWith("Controllers.Controllers") && !ss.IsNested).ToArray(); builder.RegisterTypes(controllers) .PropertiesAutowired(); }
public override void SetOptions() { base.Image = ButtonImage.Large; string path = FormatResourceName("Commands/Images/Large/blue/laptop.png"); base.LargeImageStream = ThisAssembly.GetManifestResourceStream(path); }
protected override void Load(ContainerBuilder builder) { builder.RegisterType <SessionManager>().As <ISessionManager>().InstancePerLifetimeScope(); builder.RegisterType <SessionServer>().As <ISessionServer>().InstancePerLifetimeScope(); var types = ThisAssembly.GetTypes().Where(x => typeof(IMessageFrame).IsAssignableFrom(x) && x.IsClass); foreach (var type in types) { var att = type.GetCustomAttributes(true).First(x => (x is MessageFrameAttribute)) as MessageFrameAttribute; builder .RegisterType(type) .Keyed <IMessageFrame>(att.FrameType) .InstancePerDependency(); } builder.Register <Func <eMessageFrameType, IMessageFrame> >(c => { var componentContext = c.Resolve <IComponentContext>(); return((frameType) => componentContext.ResolveKeyed <IMessageFrame>(frameType)); }); builder.Register <Func <eSessionType, ISessionManager> >(c => { var componentContext = c.Resolve <IComponentContext>(); return((sessionType) => componentContext.Resolve <ISessionManager>(new NamedParameter("sessionType", sessionType))); }); builder.Register <Func <eSessionType, ISessionServer> >(c => { var componentContext = c.Resolve <IComponentContext>(); return((sessionType) => componentContext.Resolve <ISessionServer>(new NamedParameter("sessionType", sessionType))); }); }
protected override void Load(ContainerBuilder builder) { builder.RegisterAssemblyTypes(_assembliesToScan) .Where(t => { var a = typeof(IConsumer).IsAssignableFrom(t); return(a); }) .AsSelf(); builder.Register(context => Bus.Factory.CreateUsingRabbitMq(cfg => { var host = cfg.Host(new Uri(_busConfiguration.HostAddress), _busConfiguration.VirtualHost, h => { h.Username(_busConfiguration.Username); h.Password(_busConfiguration.Password); }); cfg.ReceiveEndpoint(host, ThisAssembly.GetName().Name, e => { //Add MassTransit Consumer }); cfg.ReceiveEndpoint(host, ec => { ec.LoadFrom(context.Resolve <ILifetimeScope>()); }); }) ).SingleInstance() .As <IBusControl>() .As <IBus>(); }
protected override void Load(ContainerBuilder builder) { builder.RegisterType <DialogService>().As <IDialogService>().SingleInstance(); builder.RegisterType <PluginService>().As <IPluginService>().SingleInstance(); builder.RegisterType <ThemeService>().As <IThemeService>().SingleInstance(); builder.RegisterType <ExternalService>().As <IExternalService>().SingleInstance(); builder.RegisterType <MainWindowViewModel>().As <MainWindowViewModel>().SingleInstance(); builder.RegisterType <ModSelectionViewModel>().As <IModSelectionViewModel>().SingleInstance(); builder.RegisterType <MainEditorViewModel>().As <IMainEditorViewModel>().SingleInstance(); ContainerProvider.ModServiceGetterFactory.AddModule(new WpfModServiceModule()); builder.RegisterType <ModListItemViewModel>().As <IModListItemViewModel>(); builder.RegisterType <ModListItemViewModelFactory>().As <IModListItemViewModelFactory>().SingleInstance(); builder.RegisterType <JumpService>().As <IJumpService>().SingleInstance(); // editor modules IEnumerable <Type> types = ThisAssembly .GetTypes() .Where(i => typeof(EditorModule).IsAssignableFrom(i) && !i.IsAbstract); foreach (Type t in types) { builder.RegisterType(t).As <EditorModule>(); } }
// Loads all the strategies from all the embedded XML resources. Also builds a list of strategy identifiers // in the format ProviderId:StrategyName. private void LoadStrategies() { foreach (KeyValuePair <string, string> algoProvider in _algoProviders) { _atdlStrategyProvider.Load(algoProvider.Key, ThisAssembly.GetManifestResourceStream(algoProvider.Value)); } }
protected override void Load(ContainerBuilder builder) { builder.RegisterTypes( ThisAssembly.GetExportedTypes() .Where(x => x.Namespace != null && x.Namespace.EndsWith("Core")) .ToArray()); }
public void CanVisitGenericParameters() { var visitor = new TracingVisitor(); ThisAssembly.Accept(visitor); Assert.IsTrue(visitor.HasTouchedAll(ThisGeneric.GenericParameters)); }
public void CanVisitMethodParameters() { var visitor = new TracingVisitor(); ThisAssembly.Accept(visitor); Assert.IsTrue(visitor.HasTouchedAll(ThisModule.Types.SelectMany(t => t.Methods.SelectMany(m => m.Parameters)))); }
public void CanVisitAssemblyDefinition() { var visitor = new TracingVisitor(); ThisAssembly.Accept(visitor); Assert.IsTrue(visitor.HasTouched(ThisAssembly)); }
private Type[] GetParametrizedJobTypes() { return(ThisAssembly.GetTypes().Where( type => !type.IsGenericType && !type.IsAbstract && TypeUtils.IsFinalClassImplementationOfOpenGenericInterface(type, typeof(IJob <>))) .ToArray()); }
private void RegisterRecurringJobs(ContainerBuilder builder) { var jobs = ThisAssembly.GetTypes() .Where(type => type.IsClass && !type.IsAbstract && typeof(BaseRecurringJob).IsAssignableFrom(type)); jobs.ForEach(job => builder.RegisterType(job).AsSelf() .InstancePerBackgroundJob()); }
protected override void Load(ContainerBuilder builder) { builder.RegisterTypes(ThisAssembly.GetTypes() .Where(x => typeof(Controller).IsAssignableFrom(x)) .ToArray()) .InstancePerLifetimeScope(); base.Load(builder); }
/// <summary> /// Open a manifest file from this assembly /// </summary> /// <param name="path">Type path to the file</param> /// <param name="name">File name (with extension)</param> /// <returns>Manifest file's stream</returns> /// <exception cref="Debug.ExceptionLog">When a <see cref="System.IO.FileNotFoundException"/> is encountered, it is caught and rethrown as a this type of exception</exception> public static Stream Open(string path, string name) { string manifest_path = string.Format("{0}{1}{2}", BasePath, path.Replace('\\', '.'), name); Stream s = null; try { s = ThisAssembly.GetManifestResourceStream(manifest_path); } catch (FileNotFoundException) { throw new Debug.ExceptionLog("Manifest not found! {0}", manifest_path); } return(s); }
protected override void Load(ContainerBuilder builder) { var config = new ConfigurationBuilder(); config.AddJsonFile($"{ThisAssembly.GetName().Name}.Config.Dependency.json"); var module = new ConfigurationModule(config.Build()); builder.RegisterModule(module); }
public void CanVisitInterfaces() { var visitor = new TracingVisitor(); ThisAssembly.Accept(visitor); Assert.IsTrue(visitor.HasTouchedAll(ThisFixtureType.Interfaces)); Assert.IsTrue(visitor.HasTouchedAll(ThisNestedType.Interfaces)); }
public void CanVisitFieldDefinitions() { var visitor = new TracingVisitor(); ThisAssembly.Accept(visitor); Assert.IsTrue(visitor.HasTouchedAll(ThisFixtureType.Fields)); Assert.IsTrue(visitor.HasTouchedAll(ThisNestedType.Fields)); }
public void CanVisitComposedTypes() { var visitor = new TracingVisitor(); ThisAssembly.Accept(visitor); Assert.IsTrue(visitor.HasTouchedAll(ThisComposedTypes.Fields.Select(f => f.FieldType))); Assert.IsTrue(visitor.HasTouchedAll(ThisComposedTypes.Fields.Select(f => f.FieldType.GetElementType()))); }
public void CanVisitBaseTypes() { var visitor = new TracingVisitor(); ThisAssembly.Accept(visitor); Assert.IsTrue(visitor.HasTouched(ThisFixtureType.BaseType)); Assert.IsTrue(visitor.HasTouched(ThisNestedType.BaseType)); }
public void CanVisitTypeDefinitionsInTree() { var visitor = new TracingVisitor(); ThisAssembly.Accept(visitor); Assert.IsTrue(visitor.HasTouched(ThisAssembly)); Assert.IsTrue(visitor.HasTouched(ThisModule)); Assert.IsTrue(visitor.HasTouched(ThisFixtureType)); }
protected override void Load(ContainerBuilder builder) { //配置所有Controller为支持属性注入 var assmbly = ThisAssembly.GetTypes(); var controllers = assmbly.Where(ss => ss.FullName.StartsWith("WebBase.Controllers") && !ss.IsNested) .ToArray(); builder.RegisterTypes(controllers) .PropertiesAutowired(); }
public void CanVisitMethodDefinitions() { var visitor = new TracingVisitor(); ThisAssembly.Accept(visitor); Assert.IsTrue(visitor.HasTouchedAll(ThisFixtureType.Methods)); Assert.IsTrue(visitor.HasTouchedAll(ThisNestedType.Methods)); Assert.IsTrue(visitor.HasTouchedAll(ThisEmptyInterface.Methods)); }
protected override void Load(ContainerBuilder builder) { var services = ThisAssembly.GetTypes() .Where(s => s.IsClass) .Where(s => s.DisplayName().EndsWith("Service")) .Select(s => s.UnderlyingSystemType) .ToList(); services.ForEach(s => builder.RegisterType(s).AsImplementedInterfaces().InstancePerLifetimeScope()); }
protected override void Load(ContainerBuilder builder) { var services = from p in ThisAssembly.GetTypes() where p.FullName.StartsWith("Service.Services") && !p.IsNested select p; builder.RegisterTypes(services.ToArray()) .AsImplementedInterfaces() .AsSelf() .PropertiesAutowired() .InstancePerLifetimeScope(); }
protected override void Load(ContainerBuilder builder) { builder.RegisterTypes(ThisAssembly.GetTypes()) .AsSelf() .AsImplementedInterfaces() .SingleInstance(); builder.RegisterType <ConfigurationSettingsProvider>() .AsImplementedInterfaces() .WithParameter("configuration", builder.Properties[Configuration] !); }
private static string[] ReadLinesFromBuiltInInput(string name) { string text; using (var stream = ThisAssembly.GetManifestResourceStream(name)) using (var streamReader = new StreamReader(stream)) { text = streamReader.ReadToEnd(); } return(text.Split(NewLineSeparators, StringSplitOptions.RemoveEmptyEntries)); }
protected override void Load(ContainerBuilder builder) { builder.RegisterType <ToolSelectionMenu>().SingleInstance().OnActivated(a => initMenu(a.Instance, a.Context)); builder.RegisterType <ToolMenuBuilder>().SingleInstance(); builder.RegisterType <ToolSelectionCategory>(); builder.RegisterType <ToolSelectionTool>(); builder.RegisterTypes(ThisAssembly.GetTypes().Where(t => t.IsAssignableTo <PlayerTool>()).ToArray()) .AsSelf() .Keyed <PlayerTool>(type => type); }
private void RegisterViewModels(ContainerBuilder builder) { ThisAssembly.GetTypes() .Where(type => type.IsClass) .Where(type => type.Name.EndsWith("ViewModel")) .Where(type => type.GetInterfaces() .Any(interfaceType => interfaceType.Name.StartsWith("I") && interfaceType.Name.EndsWith("ViewModel"))) .ForEach(type => builder.RegisterType(type).AsImplementedInterfaces()); builder.RegisterType <AlbumFolderViewModel.Factory>().As <IAlbumFolderViewModelFactory>().SingleInstance(); builder.RegisterType <GroupFolderViewModel.Factory>().As <IGroupFolderViewModelFactory>().SingleInstance(); }