Esempio n. 1
0
        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();
        }
Esempio n. 2
0
 protected override void Load(ContainerBuilder builder)
 {
     builder.RegisterTypes(ThisAssembly.GetTypes())
     .AsSelf()
     .AsImplementedInterfaces()
     .SingleInstance();
 }
Esempio n. 3
0
        protected override void Load(ContainerBuilder builder)
        {
            var controllers = ThisAssembly.GetTypes().Where(ss => ss.FullName.StartsWith("Controllers.Controllers") && !ss.IsNested).ToArray();

            builder.RegisterTypes(controllers)
            .PropertiesAutowired();
        }
Esempio n. 4
0
        public override void SetOptions()
        {
            base.Image = ButtonImage.Large;
            string path = FormatResourceName("Commands/Images/Large/blue/laptop.png");

            base.LargeImageStream = ThisAssembly.GetManifestResourceStream(path);
        }
Esempio n. 5
0
        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)));
            });
        }
Esempio n. 6
0
        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>();
        }
Esempio n. 7
0
    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());
 }
Esempio n. 10
0
        public void CanVisitGenericParameters()
        {
            var visitor = new TracingVisitor();

            ThisAssembly.Accept(visitor);

            Assert.IsTrue(visitor.HasTouchedAll(ThisGeneric.GenericParameters));
        }
Esempio n. 11
0
        public void CanVisitMethodParameters()
        {
            var visitor = new TracingVisitor();

            ThisAssembly.Accept(visitor);

            Assert.IsTrue(visitor.HasTouchedAll(ThisModule.Types.SelectMany(t => t.Methods.SelectMany(m => m.Parameters))));
        }
Esempio n. 12
0
        public void CanVisitAssemblyDefinition()
        {
            var visitor = new TracingVisitor();

            ThisAssembly.Accept(visitor);

            Assert.IsTrue(visitor.HasTouched(ThisAssembly));
        }
Esempio n. 13
0
 private Type[] GetParametrizedJobTypes()
 {
     return(ThisAssembly.GetTypes().Where(
                type => !type.IsGenericType &&
                !type.IsAbstract &&
                TypeUtils.IsFinalClassImplementationOfOpenGenericInterface(type, typeof(IJob <>)))
            .ToArray());
 }
Esempio n. 14
0
        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());
        }
Esempio n. 15
0
        protected override void Load(ContainerBuilder builder)
        {
            builder.RegisterTypes(ThisAssembly.GetTypes()
                                  .Where(x => typeof(Controller).IsAssignableFrom(x))
                                  .ToArray())
            .InstancePerLifetimeScope();

            base.Load(builder);
        }
Esempio n. 16
0
            /// <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);
            }
Esempio n. 17
0
        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);
        }
Esempio n. 18
0
        public void CanVisitInterfaces()
        {
            var visitor = new TracingVisitor();

            ThisAssembly.Accept(visitor);

            Assert.IsTrue(visitor.HasTouchedAll(ThisFixtureType.Interfaces));
            Assert.IsTrue(visitor.HasTouchedAll(ThisNestedType.Interfaces));
        }
Esempio n. 19
0
        public void CanVisitFieldDefinitions()
        {
            var visitor = new TracingVisitor();

            ThisAssembly.Accept(visitor);

            Assert.IsTrue(visitor.HasTouchedAll(ThisFixtureType.Fields));
            Assert.IsTrue(visitor.HasTouchedAll(ThisNestedType.Fields));
        }
Esempio n. 20
0
        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())));
        }
Esempio n. 21
0
        public void CanVisitBaseTypes()
        {
            var visitor = new TracingVisitor();

            ThisAssembly.Accept(visitor);

            Assert.IsTrue(visitor.HasTouched(ThisFixtureType.BaseType));
            Assert.IsTrue(visitor.HasTouched(ThisNestedType.BaseType));
        }
Esempio n. 22
0
        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));
        }
Esempio n. 23
0
        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();
        }
Esempio n. 24
0
        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));
        }
Esempio n. 25
0
        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());
        }
Esempio n. 26
0
        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();
        }
Esempio n. 27
0
        protected override void Load(ContainerBuilder builder)
        {
            builder.RegisterTypes(ThisAssembly.GetTypes())
            .AsSelf()
            .AsImplementedInterfaces()
            .SingleInstance();

            builder.RegisterType <ConfigurationSettingsProvider>()
            .AsImplementedInterfaces()
            .WithParameter("configuration", builder.Properties[Configuration] !);
        }
Esempio n. 28
0
        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));
        }
Esempio n. 29
0
        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);
        }
Esempio n. 30
0
        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();
        }