Beispiel #1
0
        public void Configuration(IAppBuilder app)
        {
            // 有关如何配置应用程序的详细信息,请访问 http://go.microsoft.com/fwlink/?LinkID=316888
            ICacheProvider provider = new RuntimeMemoryCacheProvider();

            CacheManager.SetProvider(provider, CacheLevel.First);

            IServicesBuilder   builder  = new ServicesBuilder();
            IServiceCollection services = builder.Build();

            services.AddLog4NetServices();
            services.AddDataServices();

            IIocBuilder mvcIocBuilder = new MvcAutofacIocBuilder(services);

            app.UseTomNetMvc(mvcIocBuilder);
            IIocBuilder apiIocBuilder = new WebApiAutofacIocBuilder(services);

            app.UseTomNetWebApi(apiIocBuilder);
            app.UseTomNetSignalR(new SignalRAutofacIocBuilder(services));

            app.ConfigureWebApi();
            app.ConfigureSignalR();

            IIocBuilder hangfireBuilder = new HangfireAutofacIocBuilder(services);

            app.UseTomNetHangfile(hangfireBuilder);
            GlobalConfiguration.Configuration.UseMemoryStorage();
            app.UseHangfireDashboard();
            app.UseHangfireServer(new BackgroundJobServerOptions()
            {
                WorkerCount = 1
            });
        }
Beispiel #2
0
        private static void Initialize()
        {
            Log4NetLoggerAdapter adapter = new Log4NetLoggerAdapter();

            LogManager.AddLoggerAdapter(adapter);

            ICacheProvider provider = new RuntimeMemoryCacheProvider();

            CacheManager.SetProvider(provider, CacheLevel.First);

            IServicesBuilder builder = new ServicesBuilder();

            try
            {
                IServiceCollection services = builder.Build();

                services.AddLog4NetServices();
                services.AddDataServices();
                services.AddImplementServices();
                services.AddMdSmsServices();
                //services.AddJPushServices();


                IFrameworkInitializer initializer = new FrameworkInitializer();
                initializer.Initialize(new MvcAutofacIocBuilder(services));
                initializer.Initialize(new WebApiAutofacIocBuilder(services));
                //initializer.Initialize(new SignalRAutofacIocBuilder(services));
            }

            catch (Exception ex)
            {
            }
        }
Beispiel #3
0
        public void Configuration(IAppBuilder app)
        {
            ICacheProvider provider = new RuntimeMemoryCacheProvider();

            CacheManager.SetProvider(provider, CacheLevel.First);

            IServicesBuilder   builder  = new ServicesBuilder();
            IServiceCollection services = builder.Build();

            services.AddLog4NetServices();
            services.AddDataServices();
            services.AddAutoMapperServices();
            services.AddOAuthServices();

            services.AddDemoServices(app);

            IIocBuilder IocBuilder = new WebFormAutofacIocBuilder(services);

            app.UseOsharpWebForm(IocBuilder);

            //IIocBuilder mvcIocBuilder = new MvcAutofacIocBuilder(services);
            //app.UseOsharpMvc(mvcIocBuilder);
            //IIocBuilder apiIocBuilder = new WebApiAutofacIocBuilder(services);
            //app.UseOsharpWebApi(apiIocBuilder);
            //app.UseOsharpSignalR(new SignalRAutofacIocBuilder(services));

            //app.ConfigureOAuth(apiIocBuilder.ServiceProvider);
            //app.ConfigureWebApi();
            //app.ConfigureSignalR();
        }
Beispiel #4
0
        private static IServiceCollection AddMqttEventBus(this IServiceCollection services,
                                                          Action <MqttClientOptionsBuilder, IServicesBuilder> cfgStrategy1,
                                                          Action <MqttClientOptionsBuilder, ILocalServerOptionsBuilder, IServicesBuilder> cfgStrategy2)
        {
            var addedServices = new HashSet <ServiceType>();

            var mqttHostBuilder    = new MqttClientOptionsBuilder();
            var serviceBuilder     = new ServicesBuilder(services, addedServices);
            var localServerBuilder = new LocalServerOptionsBuilder();

            if (cfgStrategy1 != null)
            {
                cfgStrategy1.Invoke(mqttHostBuilder, serviceBuilder);
            }

            if (cfgStrategy2 != null)
            {
                cfgStrategy2.Invoke(mqttHostBuilder, localServerBuilder, serviceBuilder);
            }

            if (!addedServices.Contains(ServiceType.Logger))
            {
                serviceBuilder.AddLogger(cfg => cfg.UseInnerLogger());
            }

            return(services
                   .AddSingleton(mqttHostBuilder.Build())
                   .AddSingleton(localServerBuilder.Build())
                   .AddEventBusServices());
        }
Beispiel #5
0
        public void Configuration(IAppBuilder app)
        {
            // 有关如何配置应用程序的详细信息,请访问 http://go.microsoft.com/fwlink/?LinkID=316888
            ICacheProvider provider = new RuntimeMemoryCacheProvider();

            CacheManager.SetProvider(provider, CacheLevel.First);

            IServicesBuilder   builder  = new ServicesBuilder();
            IServiceCollection services = builder.Build();

            services.AddLog4NetServices();
            services.AddDataServices();
            services.AddAutoMapperServices();
            services.AddOAuthServices();
            services.AddDemoServices(app);

            IIocBuilder mvcIocBuilder = new MvcAutofacIocBuilder(services);

            app.UseOsharpMvc(mvcIocBuilder);
            IIocBuilder apiIocBuilder = new WebApiAutofacIocBuilder(services);

            app.UseOsharpWebApi(apiIocBuilder);
            //app.UseOsharpSignalR(new SignalRAutofacIocBuilder(services));

            app.ConfigureOAuth(apiIocBuilder.ServiceProvider);
            app.ConfigureWebApi();
            //app.ConfigureSignalR();
        }
        /// <summary>
        /// Creates a new instance of <see cref="IMessagingBus"/>.
        /// </summary>
        /// <returns>
        /// The created instance of <see cref="IMessagingBus"/>
        /// </returns>
        public IMessagingBus BuildSubscribers()
        {
            IMessagingConfig config = CreateConfig();

            config.Validate();

            ILoggerFactory loggerFactory =
                ServicesBuilder?.LoggerFactory?.Invoke() ?? ServiceResolver.ResolveService <ILoggerFactory>();

            JustSayingBus      bus    = CreateBus(config, loggerFactory);
            JustSayingFluently fluent = CreateFluent(bus, loggerFactory);

            if (ServicesBuilder?.NamingStrategy != null)
            {
                fluent.WithNamingStrategy(ServicesBuilder.NamingStrategy);
            }

            if (ServicesBuilder?.MessageContextAccessor != null)
            {
                fluent.WithMessageContextAccessor(ServicesBuilder.MessageContextAccessor());
            }

            if (SubscriptionBuilder != null)
            {
                SubscriptionBuilder.Configure(fluent);
            }

            return(bus);
        }
Beispiel #7
0
        public void Configuration(IAppBuilder app)
        {
            // 有关如何配置应用程序的详细信息,请访问 http://go.microsoft.com/fwlink/?LinkID=316888
            ICacheProvider provider = new RuntimeMemoryCacheProvider();

            CacheManager.SetProvider(provider, CacheLevel.First);

            IServicesBuilder   builder  = new ServicesBuilder();
            IServiceCollection services = builder.Build();

            services.AddLog4NetServices();
            services.AddDataServices();
            services.AddAutoMapperServices();
            services.AddOAuthServices();
            services.AddSolutionServices(app);
            //services.AddCommunicationService();

            IIocBuilder mvcIocBuilder = new MvcAutofacIocBuilder(services);

            app.UseOsharpMvc(mvcIocBuilder);
            IIocBuilder apiIocBuilder = new WebApiAutofacIocBuilder(services);

            app.UseOsharpWebApi(apiIocBuilder);
            //app.UseOsharpSignalR(new SignalRAutofacIocBuilder(services));

            app.ConfigureOAuth(apiIocBuilder.ServiceProvider);
            app.ConfigureWebApi();
            //app.ConfigureSignalR();

            //IIocBuilder hangfireBuilder = new HangfireAutofacIocBuilder(services);
            //app.UseOSharpHangfile(hangfireBuilder);
            //GlobalConfiguration.Configuration.UseMemoryStorage();
            //app.UseHangfireDashboard();
            //app.UseHangfireServer(new BackgroundJobServerOptions() { WorkerCount = 1 });
            //HangfireJobsRunner.Start();

            //启动Communication服务
            IServiceProvider       serviceProvider        = apiIocBuilder.Build();
            ICommunicationContract communicationContracts = serviceProvider.GetService <ICommunicationContract>();

            if (communicationContracts != null)
            {
                communicationContracts.Initialize();
            }

            //启动AgvControlContract服务
            //Solution.Agv.ControlService.IAgvControlContract agvControlContract = serviceProvider.GetService<Solution.Agv.ControlService.IAgvControlContract>();
            //if (agvControlContract != null)
            //{
            //    agvControlContract.Initialize();
            //}

            //启动DispatchingControlContract服务
            Solution.DispatchingControlCenterService.IDispatchingControlContract dispatchingControlContract = serviceProvider.GetService <Solution.DispatchingControlCenterService.IDispatchingControlContract>();
            if (dispatchingControlContract != null)
            {
                dispatchingControlContract.Initialize();
            }
        }
 public MessagingBusBuilder()
 {
     ServicesBuilder = new ServicesBuilder(this);
     ServiceBuilderServiceResolver = new ServiceBuilderServiceResolver(ServicesBuilder);
     ServiceResolver =
         new CompoundServiceResolver(ServiceBuilderServiceResolver, new DefaultServiceResolver());
     SubscriptionBuilder = new SubscriptionsBuilder(this);
     MessagingConfig     = new MessagingConfigurationBuilder(this);
 }
        public void Setup()
        {
            var service = new ServicesBuilder();

            _untity    = service.GetService <IUntityFunction>();
            _db        = service.GetService <WorkToolEntity>();
            _work      = service.GetService <IWork>();
            _sqlClient = service.GetService <ISqlClient>();
        }
Beispiel #10
0
        static void Main(string[] args)
        {
            IServicesBuilder   builder  = new ServicesBuilder();
            IServiceCollection services = builder.Build();

            services.AddDataServices();
            IFrameworkInitializer initializer = new FrameworkInitializer();

            initializer.Initialize(new MvcAutofacIocBuilder(services));
        }
Beispiel #11
0
        public void Null_Binding_Should_Throw()
        {
            using (var provider = ServicesBuilder.BuildDefault().BuildServiceProvider(validateScopes: true))
            {
                var controller = provider.GetRequiredService <Controller>();

                Should.Throw <InvalidOperationException>(() => controller.Factory.CCC(null !));
                Should.Throw <InvalidOperationException>(() => controller.Generic.CCC(null !));
            }
        }
Beispiel #12
0
        public void Configuration(IAppBuilder app)
        {
            //获取服务列表
            IServicesBuilder   builder  = new ServicesBuilder();
            IServiceCollection services = builder.Build();

            IIocBuilder mvcIocBuilder = new MvcAutofacIocBuilder(services);

            app.UseSixComMvc(mvcIocBuilder);
        }
        /// <summary>
        /// Build the configuration and populate the service collection based on the input environment.
        /// </summary>
        private (IConfigurationRoot Configuration, ServicesBuilder ServicesBuilder) Init()
        {
            var configurationOptions = this.GetOrAdd(() => new ConfigurationOptions());
            var configurationBuilder = new ConfigurationBuilder()
                                       .SetFileProvider(_environment.ContentRootFileProvider)
                                       .Apply(configurationOptions.ApplicationConfiguration)
                                       .Apply(configurationOptions.EnvironmentConfiguration, _environment.EnvironmentName)
                                       .Apply(configurationOptions.EnvironmentConfiguration, "local");

#pragma warning disable CA2000
            var cb = new Extensions.Configuration.ConfigurationBuilder(
                Scanner,
                _environment,
                new ConfigurationRoot(new List <IConfigurationProvider>()),
                configurationBuilder,
                _logger,
                ServiceProperties
                );
#pragma warning restore CA2000

            var configuration = configurationBuilder
                                .AddConfiguration(cb.Build())
                                .Build();

            var serviceCollection = new ServiceCollection();
            var servicesBuilder   = new ServicesBuilder(
                Scanner,
                AssemblyProvider,
                AssemblyCandidateFinder,
                serviceCollection,
                configuration,
                _environment,
                _logger,
                ServiceProperties
                );

            servicesBuilder.Services.AddLogging(
                builder =>
            {
                builder.ClearProviders();
                builder.Services.AddSingleton(_loggerFactory);
            }
                );

            Composer.Register(
                servicesBuilder.Scanner,
                servicesBuilder,
                typeof(IServiceConvention),
                typeof(ServiceConventionDelegate)
                );

            return(configuration, servicesBuilder);
        }
Beispiel #14
0
        public void Unknown_Binding_Should_Throw()
        {
            using (var provider = ServicesBuilder.BuildDefault().BuildServiceProvider(validateScopes: true))
            {
                var controller = provider.GetRequiredService <Controller>();

                Should.Throw <InvalidOperationException>(() => controller.Factory.CCC("Zorro"));
                Should.Throw <InvalidOperationException>(() => controller.Generic.CCC("Zorro"));

                Should.Throw <InvalidOperationException>(() => controller.Factory.DDD(ManagerType.Angry));
                Should.Throw <InvalidOperationException>(() => controller.Generic.DDD(ManagerType.Angry));
            }
        }
Beispiel #15
0
 public void Scoped_Func_Call_Without_ScopeProvider_Should_Throw()
 {
     Should.Throw <InvalidOperationException>(() =>
     {
         using (var provider = ServicesBuilder.BuildDefault(addScopeProvider: false).BuildServiceProvider(validateScopes: true))
         {
             using (var scope = provider.CreateScope())
             {
                 var controller = scope.ServiceProvider.GetService <Controller>() !;
                 var service    = controller.ScopedFunc();
             }
         }
     });
 }
Beispiel #16
0
        private void SetupServices(IConfiguration existingConfiguration)
        {
            var builder = new ServicesBuilder(
                Scanner,
                AssemblyProvider,
                AssemblyCandidateFinder,
                Builder.Services,
                existingConfiguration,
                _environment,
                _logger,
                Properties);

            Composer.Register <IServiceConventionContext, IServiceConvention, ServiceConventionDelegate>(Scanner, builder);
        }
Beispiel #17
0
        public void Configuration(IAppBuilder app)
        {
            // 有关如何配置应用程序的详细信息,请访问 http://go.microsoft.com/fwlink/?LinkID=316888

            ICacheProvider provider = new RuntimeMemoryCacheProvider();

            CacheManager.SetProvider(provider, CacheLevel.First);

            IServicesBuilder   builder  = new ServicesBuilder(new ServiceBuildOptions());
            IServiceCollection services = builder.Build();

            services.AddLog4NetServices();
            services.AddDataServices();

            app.UseOSkyMvc(services, new MvcAutofacIocBuilder());
            app.UseOSkyWebApi(services, new WebApiAutofacIocBuilder());
            app.UseOSkySignalR(services, new SignalRAutofacIocBuilder());

            ConfigurationWebApi(app);
            ConfigureSignalR(app);

            // 使应用程序可以使用 Cookie 来存储已登录用户的信息
            app.UseCookieAuthentication(new CookieAuthenticationOptions
            {
                AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,
                LoginPath          = new PathString("/Admin/Login/Index"),
                ExpireTimeSpan     = TimeSpan.FromMinutes(20), //20分钟过期
                SlidingExpiration  = true
            });

            //// Use a cookie to temporarily store information about a user logging in with a third party login provider
            //app.UseExternalSignInCookie(DefaultAuthenticationTypes.ExternalCookie);

            //// 取消注释以下行可允许使用第三方登录提供程序登录
            //app.UseMicrosoftAccountAuthentication(
            //    clientId: "",
            //    clientSecret: "");

            //app.UseTwitterAuthentication(
            //   consumerKey: "",
            //   consumerSecret: "");

            //app.UseFacebookAuthentication(
            //   appId: "",
            //   appSecret: "");

            // 支持使用 google 账户登录
            //app.UseGoogleAuthentication();
        }
Beispiel #18
0
        private JustSayingBus CreateBus(IMessagingConfig config, ILoggerFactory loggerFactory)
        {
            IMessageSerializationRegister register =
                ServicesBuilder?.SerializationRegister?.Invoke() ?? ServiceResolver.ResolveService <IMessageSerializationRegister>();

            var bus = new JustSayingBus(config, register, loggerFactory);

            bus.Monitor = CreateMessageMonitor();
            bus.MessageContextAccessor = CreateMessageContextAccessor();
            if (ServicesBuilder?.MessageLock != null)
            {
                bus.MessageLock = ServicesBuilder.MessageLock();
            }

            return(bus);
        }
Beispiel #19
0
        /// <summary>
        /// Configures the services.
        /// </summary>
        /// <param name="configure">A delegate to a method to use to configure JustSaying services.</param>
        /// <returns>
        /// The current <see cref="MessagingBusBuilder"/>.
        /// </returns>
        /// <exception cref="ArgumentNullException">
        /// <paramref name="configure"/> is <see langword="null"/>.
        /// </exception>
        public MessagingBusBuilder Services(Action <ServicesBuilder> configure)
        {
            if (configure == null)
            {
                throw new ArgumentNullException(nameof(configure));
            }

            if (ServicesBuilder == null)
            {
                ServicesBuilder = new ServicesBuilder(this);
            }

            configure(ServicesBuilder);

            return(this);
        }
Beispiel #20
0
        private static void Initialize()
        {
            ICacheProvider provider = new RuntimeMemoryCacheProvider();

            CacheManager.SetProvider(provider, CacheLevel.First);

            IServicesBuilder   builder  = new ServicesBuilder();
            IServiceCollection services = builder.Build();

            services.AddLog4NetServices();
            services.AddDataServices();

            IFrameworkInitializer initializer = new FrameworkInitializer();

            initializer.Initialize(new MvcAutofacIocBuilder(services));
            initializer.Initialize(new WebApiAutofacIocBuilder(services));
            //initializer.Initialize(new SignalRAutofacIocBuilder(services));
        }
Beispiel #21
0
        protected void Application_Start()
        {
            AreaRegistration.RegisterAllAreas();
            GlobalConfiguration.Configure(WebApiConfig.Register);
            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
            RouteConfig.RegisterRoutes(RouteTable.Routes);
            BundleConfig.RegisterBundles(BundleTable.Bundles);


            IServicesBuilder   builder  = new ServicesBuilder();
            IServiceCollection services = builder.Build();

            services.AddDataServices();//注册数据上下文

            IIocBuilder           iocBuilder  = new MvcAutofacIocBuilder(services);
            IFrameworkInitializer initializer = new FrameworkInitializer();

            initializer.Initialize(iocBuilder);
        }
Beispiel #22
0
        public void Configuration(IAppBuilder app)
        {
            // 有关如何配置应用程序的详细信息,请访问 http://go.microsoft.com/fwlink/?LinkID=316888
            ICacheProvider provider = new RuntimeMemoryCacheProvider();

            CacheManager.SetProvider(provider, CacheLevel.First);

            IServicesBuilder   builder  = new ServicesBuilder();
            IServiceCollection services = builder.Build();

            services.AddLog4NetServices();
            services.AddDataServices();
            services.AddAutoMapperServices();
            services.AddOAuthServices();

            //加载TG.UBP的接口服务,主要包括基础设施层、领域层和应用层
            services.AddUBPUtilityServices(app);
            services.AddUBPCoreServices(app);
            //services.AddUBPApplicationServices(app);

            IIocBuilder mvcIocBuilder = new MvcAutofacIocBuilder(services);

            app.UseOsharpMvc(mvcIocBuilder);
            IIocBuilder apiIocBuilder = new WebApiAutofacIocBuilder(services);

            app.UseOsharpWebApi(apiIocBuilder);
            //app.UseOsharpSignalR(new SignalRAutofacIocBuilder(services));

            app.ConfigureOAuth(apiIocBuilder.ServiceProvider);
            app.ConfigureWebApi();
            //app.ConfigureSignalR();

            IIocBuilder hangfireBuilder = new HangfireAutofacIocBuilder(services);

            app.UseOSharpHangfile(hangfireBuilder);
            GlobalConfiguration.Configuration.UseMemoryStorage();
            app.UseHangfireDashboard();
            app.UseHangfireServer(new BackgroundJobServerOptions()
            {
                WorkerCount = 1
            });
            HangfireJobsRunner.Start();
        }
Beispiel #23
0
        public void Configuration(IAppBuilder app)
        {
            // 有关如何配置应用程序的详细信息,请访问 http://go.microsoft.com/fwlink/?LinkID=316888

            ICacheProvider provider = new RuntimeMemoryCacheProvider();

            CacheManager.SetProvider(provider, CacheLevel.First);

            IServicesBuilder   builder  = new ServicesBuilder(new ServiceBuildOptions());
            IServiceCollection services = builder.Build();

            services.AddLog4NetServices();
            services.AddDataServices();

            app.UseMvcInitialize(services, new MvcAutofacIocBuilder());
            app.UseWebApiInitialize(services, new WebApiAutofacIocBuilder());

            ConfigurationWebApi(app);
            ConfigureSignalR(app);
        }
Beispiel #24
0
        private JustSayingFluently CreateFluent(JustSayingBus bus, ILoggerFactory loggerFactory)
        {
            IAwsClientFactoryProxy proxy        = CreateFactoryProxy();
            IVerifyAmazonQueues    queueCreator = new AmazonQueueCreator(proxy, loggerFactory);

            var fluent = new JustSayingFluently(bus, queueCreator, proxy, loggerFactory);

            IMessageMonitor         messageMonitor         = CreateMessageMonitor();
            IMessageContextAccessor messageContextAccessor = CreateMessageContextAccessor();

            fluent.WithMonitoring(messageMonitor)
            .WithMessageContextAccessor(messageContextAccessor);

            if (ServicesBuilder?.MessageLock != null)
            {
                fluent.WithMessageLockStoreOf(ServicesBuilder.MessageLock());
            }

            return(fluent);
        }
Beispiel #25
0
        public void Generic_Factory_And_Named_Bindings_Should_Work()
        {
            using (var provider = ServicesBuilder.BuildDefault().BuildServiceProvider(validateScopes: true))
            {
                using (var scope = provider.CreateScope())
                {
                    GenericScope <ServicesBuilder> .CurrentScope = scope;

                    var controller = scope.ServiceProvider.GetRequiredService <Controller>();

                    var builder1 = controller.Generic.AAA();
                    builder1.ShouldBeAssignableTo <Builder>();
                    builder1.Build();

                    var notifier = controller.Generic.BBB();
                    notifier.ShouldBeAssignableTo <Notifier>();
                    notifier.Notify();

                    var builder2 = controller.Generic.CCC("xxx");
                    builder2.ShouldBeAssignableTo <SpecialBuilder>();
                    builder2.Build();

                    var builder3 = controller.Generic.CCC("yyy");
                    builder3.ShouldBeAssignableTo <SpecialBuilder>();
                    builder3.Build();

                    var builder4 = controller.Generic.CCC("oops");
                    builder4.ShouldBeAssignableTo <SpecialBuilderOver9000Level>();
                    builder4.Build();

                    var builder5 = controller.Generic.DDD(ManagerType.Good);
                    builder5.ShouldBeAssignableTo <SpecialBuilder>();
                    builder5.Build();

                    var builder6 = controller.Generic.DDD(ManagerType.Bad);
                    builder6.ShouldBeAssignableTo <SpecialBuilderOver9000Level>();
                    builder6.Build();
                }
            }
        }
        protected override void Given()
        {
            _queue = CreateSuccessfulTestQueue(Guid.NewGuid().ToString(), new TestMessage());
            Queues.Add(_queue);
            _messageLock = new FakeMessageLock();

            var servicesBuilder = new ServicesBuilder(new MessagingBusBuilder());
            var serviceResolver = new FakeServiceResolver(sc =>
                                                          sc.AddSingleton <IMessageLockAsync>(_messageLock)
                                                          .AddSingleton <IHandlerAsync <SimpleMessage> >(Handler)
                                                          .AddLogging(x => x.AddXUnit(OutputHelper)));

            var middlewareBuilder = new HandlerMiddlewareBuilder(serviceResolver, serviceResolver);

            var middleware = middlewareBuilder.Configure(pipe =>
            {
                pipe.UseExactlyOnce <SimpleMessage>("a-unique-lock-key");
                pipe.UseHandler <SimpleMessage>();
            }).Build();

            Middleware = middleware;
        }
        /// <summary>
        /// Creates a new instance of <see cref="IMessagingBus"/>.
        /// </summary>
        /// <returns>
        /// The created instance of <see cref="IMessagingBus"/>
        /// </returns>
        public IMessagingBus BuildSubscribers()
        {
            IMessagingConfig config = CreateConfig();

            config.Validate();

            ILoggerFactory loggerFactory =
                ServicesBuilder?.LoggerFactory?.Invoke() ?? ServiceResolver.ResolveService <ILoggerFactory>();

            JustSayingBus       bus     = CreateBus(config, loggerFactory);
            IVerifyAmazonQueues creator = CreateQueueCreator(loggerFactory);

            if (ServicesBuilder?.MessageContextAccessor != null)
            {
                bus.MessageContextAccessor = ServicesBuilder.MessageContextAccessor();
            }

            if (SubscriptionBuilder != null)
            {
                SubscriptionBuilder.Configure(bus, ServiceResolver, creator, loggerFactory);
            }

            return(bus);
        }
Beispiel #28
0
        private static void Main(string[] args)
        {
            try
            {
                Console.WriteLine("正在初始化,请稍候……");
                Stopwatch watch = Stopwatch.StartNew();

                IServicesBuilder   builder  = new ServicesBuilder(new ServiceBuildOptions());
                IServiceCollection services = builder.Build();
                services.AddLog4NetServices();
                services.AddDataServices();
                services.AddAutoMapperServices();
                IIocBuilder           iocBuilder  = new LocalAutofacIocBuilder(services);
                IFrameworkInitializer initializer = new FrameworkInitializer();
                initializer.Initialize(iocBuilder);

                _program = iocBuilder.ServiceProvider.GetService <Program>();
                watch.Stop();
                Console.WriteLine("程序初始化完毕并启动成功,耗时:{0}", watch.Elapsed);
            }
            catch (ReflectionTypeLoadException e)
            {
                Console.WriteLine(e);
                Console.WriteLine("LoaderExceptions:");
                Exception[] exs = e.LoaderExceptions;
                foreach (Exception ex in exs)
                {
                    Console.WriteLine(ex);
                }
                return;
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                Console.ReadLine();
                return;
            }
            bool exit = false;

            while (true)
            {
                try
                {
                    Console.WriteLine(@"请输入命令:0; 退出程序,功能命令:1 - n");
                    string input = Console.ReadLine();
                    if (input == null)
                    {
                        continue;
                    }
                    switch (input.ToLower())
                    {
                    case "0":
                        exit = true;
                        break;

                    case "1":
                        Method01();
                        break;

                    case "2":
                        Method02();
                        break;

                    case "3":
                        Method03();
                        break;

                    case "4":
                        Method04();
                        break;

                    case "5":
                        Method05();
                        break;

                    case "6":
                        Method06();
                        break;

                    case "7":
                        Method07();
                        break;

                    case "8":
                        Method08();
                        break;

                    case "9":
                        Method09();
                        break;

                    case "10":
                        Method10();
                        break;

                    case "11":
                        Method11();
                        break;

                    case "12":
                        Method12();
                        break;

                    case "13":
                        Method13();
                        break;

                    case "14":
                        Method14();
                        break;

                    case "15":
                        Method15();
                        break;

                    case "16":
                        Method16();
                        break;

                    case "17":
                        Method17();
                        break;

                    case "18":
                        Method18();
                        break;
                    }
                    if (exit)
                    {
                        break;
                    }
                }
                catch (Exception e)
                {
                    Console.WriteLine(e.FormatMessage());
                }
            }
        }
Beispiel #29
0
        /// <summary>
        /// 启动初始化配置
        /// </summary>
        /// <param name="app"></param>
        public void Configuration(IAppBuilder app)
        {
            app.SetDefaultSignInAsAuthenticationType(CookieAuthenticationDefaults.AuthenticationType);
            app.UseCookieAuthentication(new CookieAuthenticationOptions());

            // 有关如何配置应用程序的详细信息,请访问 http://go.microsoft.com/fwlink/?LinkID=316888
            ICacheProvider provider = new RuntimeMemoryCacheProvider();

            CacheManager.SetProvider(provider, CacheLevel.First);

            IServicesBuilder   builder  = new ServicesBuilder();
            IServiceCollection services = builder.Build();

            services.AddLog4NetServices();
            services.AddDataServices();
            services.AddAutoMapperServices();

            IIocBuilder mvcIocBuilder = new MvcAutofacIocBuilder(services);

            app.UseShineMvc(mvcIocBuilder);
            IIocBuilder apiIocBuilder = new WebApiAutofacIocBuilder(services);

            app.UseShineWebApi(apiIocBuilder);
            app.ConfigureWebApi();

            //手动创建映射
            Mapper.CreateMap <UserPageOutDto, UserPageIn>();
            Mapper.CreateMap <UserPageIn, UserLogin>();
            Mapper.CreateMap <UserPageView, UserPageOutDto>();
            Mapper.CreateMap <Organize, OrganizePageOutDto>();
            Mapper.CreateMap <OrganizeIn, Organize>();
            Mapper.CreateMap <Host, HostPageOutDto>()
            .ForMember(m => m.DataItemDetailName, opt => { opt.MapFrom(m => m.DataItemDetailOne.FullName); })
            .ForMember(m => m.OrganizeName, opt => { opt.MapFrom(m => m.OrganizeOne.FullName); })
            .ForMember(m => m.OrganId, opt => { opt.MapFrom(m => m.OrganizeOne.Id); })
            .ForMember(m => m.DataItemDetailIndex, opt => { opt.MapFrom(m => m.DataItemDetailOne.Index); });
            Mapper.CreateMap <HostLogin, HostLoginPageOutDto>()
            .ForMember(m => m.HostRegPacket, opt => { opt.MapFrom(m => m.HostOne.RegPackage); })
            .ForMember(m => m.HostName, opt => { opt.MapFrom(m => m.HostOne.FullName); });
            Mapper.CreateMap <HostParameter, HostParameterPageOutDto>()
            .ForMember(m => m.HostRegPacket, opt => { opt.MapFrom(m => m.HostOne.RegPackage); })
            .ForMember(m => m.HostName, opt => { opt.MapFrom(m => m.HostOne.FullName); });
            Mapper.CreateMap <HostPolicy, HostPolicyPageOutDto>()
            .ForMember(m => m.HostRegPacket, opt => { opt.MapFrom(m => m.HostOne.RegPackage); })
            .ForMember(m => m.HostName, opt => { opt.MapFrom(m => m.HostOne.FullName); });
            Mapper.CreateMap <HostPolicyLogView, HostPolicyLogOutDto>();
            Mapper.CreateMap <DataItem, DataItemPageOutDto>();
            Mapper.CreateMap <BlackListView, BlackListPageOutDto>();
            Mapper.CreateMap <LightPoleView, LightPolePageOutDto>();
            Mapper.CreateMap <SubControlView, SubControlPageOutDto>();
            Mapper.CreateMap <LightPlanView, LightPlanPageOutDto>();
            Mapper.CreateMap <GroupView, GroupPageOutDto>();
            Mapper.CreateMap <HostReadTimeDataView, HTDPageOutDto>();
            Mapper.CreateMap <SubReadTimeDataView, SRTDPageOutDto>();
            Mapper.CreateMap <SubControl, SubControlView>();
            Mapper.CreateMap <Information, InformationOutDto>()
            .ForMember(m => m.TypeName, opt => { opt.MapFrom(m => m.DataItemDetailOne.FullName); })
            .ForMember(m => m.TypeIndex, opt => { opt.MapFrom(m => m.DataItemDetailOne.Index); });
            Mapper.CreateMap <InformationView, InformationPageOut>();
            Mapper.CreateMap <SubRealTimeData_0x16_In, SubRealTimeData>();
            Mapper.CreateMap <GroupControl_0x18_In, GroupControl>()
            .ForSourceMember(m => m.RegPackage, opt => { opt.Ignore(); });
            Mapper.CreateMap <LightPlan_0x54_In, LightPlan>()
            .ForSourceMember(m => m.RegPackage, opt => { opt.Ignore(); });
            Mapper.CreateMap <LightPlan_0x59_In, LightPlan>()
            .ForSourceMember(m => m.RegPackage, opt => { opt.Ignore(); });
            Mapper.CreateMap <HostParameter_0x25_In, HostParameter>()
            .ForSourceMember(m => m.RegPackage, opt => { opt.Ignore(); });
            Mapper.CreateMap <HostLogin_0x44_In, HostLogin>()
            .ForSourceMember(m => m.RegPackage, opt => { opt.Ignore(); });
            Mapper.CreateMap <HostPolicy_0x5B_In, HostPolicy>()
            .ForSourceMember(m => m.RegPackage, opt => { opt.Ignore(); });
            Mapper.CreateMap <UpgradeLog, UpgradeLogOutDto>()
            .ForMember(m => m.OrganizeName, opt => { opt.MapFrom(m => m.OrganizeOne.FullName); });
        }
Beispiel #30
0
 public void Named_Binding_With_Invalid_Properties_Should_Throw()
 {
     Should.Throw <ArgumentNullException>(() => ServicesBuilder.BuildDefault().For <IBuilder>().Named <SpecialBuilder>(null !).Services.BuildServiceProvider(validateScopes: true));
     Should.Throw <InvalidOperationException>(() => ServicesBuilder.BuildDefault().For <IBuilder>().Named <SpecialBuilderOver9000Level>("oops", ServiceLifetime.Transient).Services.BuildServiceProvider(validateScopes: true));
 }