Example #1
0
        /// <summary>
        /// Uses the kafka mq transport.
        /// </summary>
        /// <param name="builder">The builder.</param>
        /// <returns>EventBusKafkaModule.</returns>
        public EventBusKafkaModule UseKafkaMQTransport(ContainerBuilderWrapper builder)
        {
            AppConfig.Options = new KafkaOptions();
            var section = CPlatform.AppConfig.GetSection("EventBus_Kafka");

            if (section.Exists())
            {
                AppConfig.Options = section.Get <KafkaOptions>();
            }
            else if (AppConfig.Configuration != null)
            {
                AppConfig.Options = AppConfig.Configuration.Get <KafkaOptions>();
            }
            AppConfig.KafkaConsumerConfig = AppConfig.Options.GetConsumerConfig();
            AppConfig.KafkaProducerConfig = AppConfig.Options.GetProducerConfig();
            builder.RegisterType(typeof(Implementation.EventBusKafka)).As(typeof(IEventBus)).SingleInstance();
            builder.RegisterType(typeof(DefaultConsumeConfigurator)).As(typeof(IConsumeConfigurator)).SingleInstance();
            builder.RegisterType(typeof(InMemoryEventBusSubscriptionsManager)).As(typeof(IEventBusSubscriptionsManager))
            .SingleInstance();
            builder.RegisterType(typeof(KafkaProducerPersistentConnection))
            .Named(KafkaConnectionType.Producer.ToString(), typeof(IKafkaPersisterConnection)).SingleInstance();
            builder.RegisterType(typeof(KafkaConsumerPersistentConnection))
            .Named(KafkaConnectionType.Consumer.ToString(), typeof(IKafkaPersisterConnection)).SingleInstance();
            return(this);
        }
Example #2
0
        /// <summary>
        /// Inject dependent third-party components
        /// </summary>
        /// <param name="builder"></param>
        protected override void RegisterBuilder(ContainerBuilderWrapper builder)
        {
            base.RegisterBuilder(builder);
            var section = CPlatform.AppConfig.GetSection("Swagger");

            if (section.Exists())
            {
                AppConfig.SwaggerOptions = section.Get <Info>();
                if (AppConfig.SwaggerOptions.Authorization == null)
                {
                    AppConfig.SwaggerOptions.Authorization = new Authorization()
                    {
                        EnableAuthorization = false
                    };
                }
                if (AppConfig.SwaggerOptions.Authorization.EnableAuthorization)
                {
                    builder.RegisterType(typeof(AuthorizationServerProvider)).As(typeof(IAuthorizationServerProvider));
                }
            }

            builder.RegisterType(typeof(DefaultServiceSchemaProvider)).As(typeof(IServiceSchemaProvider)).SingleInstance();

            builder.RegisterType(typeof(HttpExecutor)).As(typeof(IServiceExecutor)).Named <IServiceExecutor>(CommunicationProtocol.Http.ToString()).SingleInstance();

            if (CPlatform.AppConfig.ServerOptions.Protocol == CommunicationProtocol.Http)
            {
                RegisterDefaultProtocol(builder);
            }
            else if (CPlatform.AppConfig.ServerOptions.Protocol == CommunicationProtocol.None)
            {
                RegisterHttpProtocol(builder);
            }
        }
 public EventBusRabbitMQModule UseRabbitMQTransport(ContainerBuilderWrapper builder)
 {
     builder.RegisterType(typeof(Implementation.EventBusRabbitMQ)).As(typeof(IEventBus)).SingleInstance();
     builder.RegisterType(typeof(DefaultConsumeConfigurator)).As(typeof(IConsumeConfigurator)).SingleInstance();
     builder.RegisterType(typeof(InMemoryEventBusSubscriptionsManager)).As(typeof(IEventBusSubscriptionsManager)).SingleInstance();
     builder.Register(provider =>
     {
         var logger            = provider.Resolve <ILogger <DefaultRabbitMQPersistentConnection> >();
         EventBusOption option = new EventBusOption();
         var section           = CPlatform.AppConfig.GetSection("EventBus");
         if (section.Exists())
         {
             option = section.Get <EventBusOption>();
         }
         else if (AppConfig.Configuration != null)
         {
             option = AppConfig.Configuration.Get <EventBusOption>();
         }
         var factory = new ConnectionFactory()
         {
             HostName    = option.EventBusConnection,
             UserName    = option.EventBusUserName,
             Password    = option.EventBusPassword,
             VirtualHost = option.VirtualHost,
             Port        = int.Parse(option.Port),
         };
         factory.RequestedHeartbeat = 60;
         AppConfig.BrokerName       = option.BrokerName;
         AppConfig.MessageTTL       = option.MessageTTL;
         AppConfig.RetryCount       = option.RetryCount;
         AppConfig.FailCount        = option.FailCount;
         return(new DefaultRabbitMQPersistentConnection(factory, logger));
     }).As <IRabbitMQPersistentConnection>();
     return(this);
 }
Example #4
0
 private SkywalkingModule AddSampling(ContainerBuilderWrapper builder)
 {
     builder.RegisterType <SimpleCountSamplingInterceptor>().SingleInstance();
     builder.Register <ISamplingInterceptor>(p => p.Resolve <SimpleCountSamplingInterceptor>()).SingleInstance();
     builder.Register <IExecutionService>(p => p.Resolve <SimpleCountSamplingInterceptor>()).SingleInstance();
     builder.RegisterType <RandomSamplingInterceptor>().As <ISamplingInterceptor>().SingleInstance();
     return(this);
 }
 public static void AddFilter(this ContainerBuilderWrapper builder, Type filter)
 {
     if (typeof(IExceptionFilter).IsAssignableFrom(filter))
     {
         builder.RegisterType(filter).As <IExceptionFilter>().SingleInstance();
     }
     else if (typeof(IAuthorizationFilter).IsAssignableFrom(filter))
     {
         builder.RegisterType(filter).As <IAuthorizationFilter>().SingleInstance();
     }
 }
Example #6
0
        protected override void RegisterBuilder(ContainerBuilderWrapper builder)
        {
            var section = CPlatform.AppConfig.GetSection("Stage");

            if (section.Exists())
            {
                AppConfig.Options = section.Get <StageOption>();
            }
            builder.RegisterType <WebServerListener>().As <IWebServerListener>().SingleInstance();
            builder.RegisterType <AuthorizationFilterAttribute>().As <IAuthorizationFilter>().SingleInstance();
        }
Example #7
0
        /// <summary>
        /// Inject dependent third-party components
        /// </summary>
        /// <param name="builder"></param>
        protected override void RegisterBuilder(ContainerBuilderWrapper builder)
        {
            base.RegisterBuilder(builder);
            var section = CPlatform.AppConfig.GetSection("Dns");

            if (section.Exists())
            {
                AppConfig.DnsOption = section.Get <DnsOption>();
            }
            builder.Register(provider =>
            {
                return(new DefaultDnsServiceEntryProvider(
                           provider.Resolve <IServiceEntryProvider>(),
                           provider.Resolve <ILogger <DefaultDnsServiceEntryProvider> >(),
                           provider.Resolve <CPlatformContainer>()
                           ));
            }).As(typeof(IDnsServiceEntryProvider)).SingleInstance();
            builder.RegisterType(typeof(DnsServiceExecutor)).As(typeof(IServiceExecutor))
            .Named <IServiceExecutor>(CommunicationProtocol.Dns.ToString()).SingleInstance();
            if (CPlatform.AppConfig.ServerOptions.Protocol == CommunicationProtocol.Dns)
            {
                RegisterDefaultProtocol(builder);
            }
            else if (CPlatform.AppConfig.ServerOptions.Protocol == CommunicationProtocol.None)
            {
                RegisterHttpProtocol(builder);
            }
        }
Example #8
0
 /// <summary>
 /// Inject dependent third-party components
 /// </summary>
 /// <param name="builder"></param>
 protected override void RegisterBuilder(ContainerBuilderWrapper builder)
 {
     base.RegisterBuilder(builder);
     builder.RegisterType <AsyncQueueSegmentDispatcher>().As <ISegmentDispatcher>().SingleInstance();
     builder.RegisterType <RegisterService>().As <IExecutionService>().SingleInstance();
     builder.RegisterType <PingService>().As <IExecutionService>().SingleInstance();
     builder.RegisterType <ServiceDiscoveryV5Service>().As <IExecutionService>().SingleInstance();
     builder.RegisterType <SegmentReportService>().As <IExecutionService>().SingleInstance();
     builder.RegisterType <InstrumentStartup>().As <IInstrumentStartup>().SingleInstance();
     builder.Register <IRuntimeEnvironment>(p => RuntimeEnvironment.Instance).SingleInstance();
     builder.RegisterType <TracingDiagnosticProcessorObserver>().SingleInstance();
     builder.RegisterType <ConfigAccessor>().As <IConfigAccessor>().SingleInstance();
     builder.RegisterType <ConfigurationFactory>().As <IConfigurationFactory>().SingleInstance();
     builder.RegisterType <HostingEnvironmentProvider>().As <IEnvironmentProvider>().SingleInstance();
     AddTracing(builder).AddSampling(builder).AddGrpcTransport(builder);
 }
Example #9
0
 /// <summary>
 /// Inject dependent third-party components
 /// </summary>
 /// <param name="builder"></param>
 protected override void RegisterBuilder(ContainerBuilderWrapper builder)
 {
     base.RegisterBuilder(builder);
     builder.AddFilter(typeof(ServiceExceptionFilter));
     builder.RegisterType <RestTransportDiagnosticProcessor>().As <ITracingDiagnosticProcessor>().SingleInstance();
     builder.RegisterType(typeof(HttpExecutor)).As(typeof(IServiceExecutor))
     .Named <IServiceExecutor>(CommunicationProtocol.Http.ToString()).SingleInstance();
     if (CPlatform.AppConfig.ServerOptions.Protocol == CommunicationProtocol.Http)
     {
         RegisterDefaultProtocol(builder);
     }
     else if (CPlatform.AppConfig.ServerOptions.Protocol == CommunicationProtocol.None)
     {
         RegisterHttpProtocol(builder);
     }
 }
Example #10
0
        protected override void RegisterBuilder(ContainerBuilderWrapper builder)
        {
            base.RegisterBuilder(builder);
            builder.RegisterGeneric(typeof(DapperRepository <,>)).As(typeof(IDapperRepository <,>)).InstancePerDependency();
            builder.RegisterGeneric(typeof(CreationAuditDapperActionFilter <,>)).Named(typeof(CreationAuditDapperActionFilter <,>).Name, typeof(IAuditActionFilter <,>)).InstancePerDependency();
            builder.RegisterGeneric(typeof(ModificationAuditDapperActionFilter <,>)).Named(typeof(ModificationAuditDapperActionFilter <,>).Name, typeof(IAuditActionFilter <,>)).InstancePerDependency();
            builder.RegisterGeneric(typeof(DeletionAuditDapperActionFilter <,>)).Named(typeof(DeletionAuditDapperActionFilter <,>).Name, typeof(IAuditActionFilter <,>)).InstancePerDependency();
            builder.RegisterType <QueryFilter>().As <IQueryFilter>().AsSelf().InstancePerDependency();
            builder.RegisterType <OrgQueryFilter>().As <IOrgQueryFilter>().AsSelf().InstancePerDependency();
            DapperExtensions.DapperExtensions.DefaultMapper = typeof(ClassMapper <>);

            builder.RegisterGeneric(typeof(CreationElasticFilter <,>)).Named(typeof(CreationElasticFilter <,>).Name, typeof(IElasticFilter <,>)).InstancePerDependency();
            builder.RegisterGeneric(typeof(ModificationElasticFilter <,>)).Named(typeof(ModificationElasticFilter <,>).Name, typeof(IElasticFilter <,>)).InstancePerDependency();
            builder.RegisterGeneric(typeof(DeletionElasticFilter <,>)).Named(typeof(DeletionElasticFilter <,>).Name, typeof(IElasticFilter <,>)).InstancePerDependency();

            var dbSettingSection = AppConfig.GetSection("DbSetting");

            if (!dbSettingSection.Exists())
            {
                throw new DataAccessException("未对数据库进行配置");
            }

            var dbSetting = new DbSetting()
            {
                DbType                = Enum.Parse <DbType>(EnvironmentHelper.GetEnvironmentVariable(AppConfig.GetSection("DbSetting:DbType").Get <string>())),
                ConnectionString      = EnvironmentHelper.GetEnvironmentVariable(AppConfig.GetSection("DbSetting:ConnectionString").Get <string>()),
                UseElasicSearchModule = isUseElasicSearchModule
            };

            DbSetting.Instance = dbSetting;
            switch (dbSetting.DbType)
            {
            case DbType.MySql:
                DapperExtensions.DapperExtensions.SqlDialect = new MySqlDialect();
                break;

            case DbType.Oracle:
                DapperExtensions.DapperExtensions.SqlDialect = new OracleDialect();
                break;

            case DbType.SqlServer:
                DapperExtensions.DapperExtensions.SqlDialect = new SqlServerDialect();
                break;
            }
        }
Example #11
0
        protected override void RegisterBuilder(ContainerBuilderWrapper builder)
        {
            var jobsSection = AppConfig.GetSection("jobs");
            //if (!jobsSection.Exists())
            //{
            //    throw new CPlatformException("不存在任务配置");
            //}

            var jobs = new List <JobOption>();

            AppConfig.JobOptions = jobsSection.Get <ICollection <JobOption> >();

            var isClusterSection = AppConfig.GetSection("isClustered");

            if (!isClusterSection.Exists())
            {
                AppConfig.IsClustered = false;
            }
            else
            {
                AppConfig.IsClustered = isClusterSection.Get <bool>();
                if (AppConfig.IsClustered)
                {
                    var clusterOptionSection = AppConfig.GetSection("clusterOption");
                    AppConfig.ClusterOption = clusterOptionSection.Get <ClusterOption>();
                }
            }
            var immediateStartSection = AppConfig.GetSection("immediateStart");

            if (!immediateStartSection.Exists())
            {
                AppConfig.ImmediateStart = false;
            }
            else
            {
                AppConfig.ImmediateStart = immediateStartSection.Get <bool>();
            }

            base.RegisterBuilder(builder);

            builder.RegisterType <JobEntityProvider>().As <IJobEntityProvider>();
            builder.RegisterType <DefaultScheduleJobManager>().As <ISurgingScheduleJobManager>().SingleInstance();
            builder.RegisterType <CronSurgingTriggerFactory>().As <ICronTriggerFactory>().InstancePerDependency();
        }
        protected override void RegisterBuilder(ContainerBuilderWrapper builder)
        {
            var configAssembliesStr = CPlatformAppConfig.GetSection("Automapper:Assemblies").Get <string>();

            if (!string.IsNullOrEmpty(configAssembliesStr))
            {
                AppConfig.AssembliesStrings = configAssembliesStr.Split(";");
            }
            builder.RegisterType <AutoMapperBootstrap>().As <IAutoMapperBootstrap>();
        }
Example #13
0
        /// <summary>
        /// Inject dependent third-party components
        /// </summary>
        /// <param name="builder"></param>
        protected override void RegisterBuilder(ContainerBuilderWrapper builder)
        {
            var options = new LiveStreamOption();
            var section = CPlatform.AppConfig.GetSection("LiveStream");

            if (section.Exists())
            {
                options = section.Get <LiveStreamOption>();
            }
            AppConfig.Option = options;
            builder.RegisterType(typeof(RtmpRemoteInvokeService)).As(typeof(IRtmpRemoteInvokeService)).SingleInstance();
            builder.RegisterType(typeof(MediaStreamProvider)).As(typeof(IMediaStreamProvider)).SingleInstance();
            builder.RegisterType(typeof(LiveStreamServiceExecutor)).Named("Rtmp", typeof(IServiceExecutor)).SingleInstance();
            base.RegisterBuilder(builder);
            RegisterRtmpProtocol(builder, options);
            if (AppConfig.Option.EnableHttpFlv)
            {
                RegisterHttpFlvProtocol(builder, options);
            }
        }
Example #14
0
        /// <summary>
        /// Inject dependent third-party components
        /// </summary>
        /// <param name="builder"></param>
        protected override void RegisterBuilder(ContainerBuilderWrapper builder)
        {
            var section = CPlatform.AppConfig.GetSection("Swagger");

            if (section.Exists())
            {
                AppConfig.SwaggerOptions = section.Get <Info>();
                AppConfig.SwaggerConfig  = section.Get <DocumentConfiguration>();
            }
            builder.RegisterType(typeof(DefaultServiceSchemaProvider)).As(typeof(IServiceSchemaProvider)).SingleInstance();
        }
Example #15
0
        protected override void RegisterBuilder(ContainerBuilderWrapper builder)
        {
            CPlatform.AppConfig.ServerOptions.DisableServiceRegistration = true;
            var section = CPlatform.AppConfig.GetSection("Stage");

            if (section.Exists())
            {
                AppConfig.Options = section.Get <StageOption>();
            }
            builder.RegisterType <WebServerListener>().As <IWebServerListener>().SingleInstance();
        }
Example #16
0
        /// <summary>
        /// Inject dependent third-party components
        /// </summary>
        /// <param name="builder"></param>
        protected override void RegisterBuilder(ContainerBuilderWrapper builder)
        {
            base.RegisterBuilder(builder);
            builder.RegisterType(typeof(DefaultMqttServiceFactory)).As(typeof(IMqttServiceFactory)).SingleInstance();
            builder.RegisterType(typeof(DefaultMqttBrokerEntryManager)).As(typeof(IMqttBrokerEntryManger)).SingleInstance();
            builder.RegisterType(typeof(MqttRemoteInvokeService)).As(typeof(IMqttRemoteInvokeService)).SingleInstance();
            builder.Register(provider =>
            {
                return(new WillService(
                           provider.Resolve <ILogger <WillService> >(),
                           provider.Resolve <CPlatformContainer>()
                           ));
            }).As <IWillService>().SingleInstance();
            builder.Register(provider =>
            {
                return(new MessagePushService(new SacnScheduled()));
            }).As <IMessagePushService>().SingleInstance();
            builder.RegisterType(typeof(ClientSessionService)).As(typeof(IClientSessionService)).SingleInstance();
            builder.Register(provider =>
            {
                return(new MqttChannelService(
                           provider.Resolve <IMessagePushService>(),
                           provider.Resolve <IClientSessionService>(),
                           provider.Resolve <ILogger <MqttChannelService> >(),
                           provider.Resolve <IWillService>(),
                           provider.Resolve <IMqttBrokerEntryManger>(),
                           provider.Resolve <IMqttRemoteInvokeService>(),
                           provider.Resolve <IServiceIdGenerator>()
                           ));
            }).As(typeof(IChannelService)).SingleInstance();
            builder.RegisterType(typeof(DefaultMqttBehaviorProvider)).As(typeof(IMqttBehaviorProvider)).SingleInstance();

            if (AppConfig.ServerOptions.Protocol == CommunicationProtocol.Http)
            {
                RegisterDefaultProtocol(builder);
            }
            else if (AppConfig.ServerOptions.Protocol == CommunicationProtocol.None)
            {
                RegisterMqttProtocol(builder);
            }
        }
Example #17
0
 /// <summary>
 /// Inject dependent third-party components
 /// </summary>
 /// <param name="builder"></param>
 protected override void RegisterBuilder(ContainerBuilderWrapper builder)
 {
     base.RegisterBuilder(builder);
     builder.RegisterType(typeof(DefaultWSServiceEntryProvider)).As(typeof(IWSServiceEntryProvider)).SingleInstance();
     if (AppConfig.ServerOptions.Protocol == CommunicationProtocol.WS)
     {
         RegisterDefaultProtocol(builder);
     }
     else if (AppConfig.ServerOptions.Protocol == CommunicationProtocol.None)
     {
         RegisterWSProtocol(builder);
     }
 }
Example #18
0
 /// <summary>
 /// Inject dependent third-party components
 /// </summary>
 /// <param name="builder"></param>
 protected override void RegisterBuilder(ContainerBuilderWrapper builder)
 {
     base.RegisterBuilder(builder);
     builder.Register(provider =>
     {
         return(new DefaultTcpServiceEntryProvider(
                    provider.Resolve <IServiceEntryProvider>(),
                    provider.Resolve <ILogger <DefaultTcpServiceEntryProvider> >(),
                    provider.Resolve <CPlatformContainer>()
                    ));
     }).As(typeof(ITcpServiceEntryProvider)).SingleInstance();
     builder.RegisterType(typeof(DefaultDeviceProvider)).As(typeof(IDeviceProvider)).SingleInstance();
     builder.RegisterType(typeof(DefaultTcpServiceEntryProvider)).As(typeof(ITcpServiceEntryProvider)).SingleInstance();
     builder.RegisterType(typeof(TcpNetworkProvider)).As <INetworkProvider <TcpServerProperties> >().SingleInstance();
     if (CPlatform.AppConfig.ServerOptions.Protocol == CommunicationProtocol.Tcp)
     {
         RegisterDefaultProtocol(builder);
     }
     else if (CPlatform.AppConfig.ServerOptions.Protocol == CommunicationProtocol.None)
     {
         RegisterTcpProtocol(builder);
     }
 }
Example #19
0
 /// <summary>
 /// Inject dependent third-party components
 /// </summary>
 /// <param name="builder"></param>
 protected override void RegisterBuilder(ContainerBuilderWrapper builder)
 {
     base.RegisterBuilder(builder);
     builder.RegisterType(typeof(HttpExecutor)).As(typeof(IServiceExecutor))
     .Named <IServiceExecutor>(CommunicationProtocol.Http.ToString()).SingleInstance();
     if (CPlatform.AppConfig.ServerOptions.Protocol == CommunicationProtocol.Http)
     {
         RegisterDefaultProtocol(builder);
     }
     else if (CPlatform.AppConfig.ServerOptions.Protocol == CommunicationProtocol.None)
     {
         RegisterHttpProtocol(builder);
     }
 }
        /// <summary>
        /// Inject dependent third-party components
        /// </summary>
        /// <param name="builder"></param>
        protected override void RegisterBuilder(ContainerBuilderWrapper builder)
        {
            base.RegisterBuilder(builder);
            var section = CPlatform.AppConfig.GetSection("Swagger");

            if (section.Exists())
            {
                AppConfig.SwaggerOptions = section.Get <Info>();
                AppConfig.SwaggerConfig  = section.Get <DocumentConfiguration>();
            }
            builder.RegisterType(typeof(DefaultServiceSchemaProvider)).As(typeof(IServiceSchemaProvider)).SingleInstance();

            builder.RegisterType(typeof(HttpExecutor)).As(typeof(IServiceExecutor))
            .Named <IServiceExecutor>(CommunicationProtocol.Http.ToString()).SingleInstance();
            if (CPlatform.AppConfig.ServerOptions.Protocol == CommunicationProtocol.Http)
            {
                RegisterDefaultProtocol(builder);
            }
            else if (CPlatform.AppConfig.ServerOptions.Protocol == CommunicationProtocol.None)
            {
                RegisterHttpProtocol(builder);
            }
        }
Example #21
0
        protected override void RegisterBuilder(ContainerBuilderWrapper builder)
        {
            var esSettingSection = AppConfig.GetSection("ElasticSearch");

            if (!esSettingSection.Exists())
            {
                throw new CPlatformException("未对ElasticSearch服务进行配置");
            }

            var esSetting = AppConfig.Configuration.GetSection("ElasticSearch").Get <ElasticSearchSetting>();

            ElasticSearchSetting.Instance = esSetting;

            builder.RegisterType <ElasticSearchProvider>().As <IElasticSearchProvider>().AsSelf().InstancePerDependency();
        }
Example #22
0
 private SkywalkingModule AddGrpcTransport(ContainerBuilderWrapper builder)
 {
     builder.RegisterType <SkyApmClientV5>().As <ISkyApmClientV5>().SingleInstance();
     builder.RegisterType <Transport.Grpc.SegmentReporter>().As <ISegmentReporter>().SingleInstance();
     builder.RegisterType <ConnectionManager>().SingleInstance();
     builder.RegisterType <PingCaller>().As <IPingCaller>().SingleInstance();
     builder.RegisterType <ServiceRegister>().As <IServiceRegister>().SingleInstance();
     builder.RegisterType <ConnectService>().As <IExecutionService>().SingleInstance();
     return(this);
 }
Example #23
0
 /// <summary>
 /// Inject dependent third-party components
 /// </summary>
 /// <param name="builder"></param>
 protected override void RegisterBuilder(ContainerBuilderWrapper builder)
 {
     base.RegisterBuilder(builder);
     builder.RegisterType(typeof(DefaultHealthCheckService)).As(typeof(IHealthCheckService)).SingleInstance();
     builder.RegisterType(typeof(DefaultAddressResolver)).As(typeof(IAddressResolver)).SingleInstance();
     builder.RegisterType(typeof(HashAlgorithm)).As(typeof(IHashAlgorithm)).SingleInstance();
     builder.RegisterType(typeof(DefaultServiceCacheFactory)).As(typeof(IServiceCacheFactory)).SingleInstance();
     builder.RegisterType(typeof(DefaultCacheNodeProvider)).As(typeof(ICacheNodeProvider)).SingleInstance();
     builder.RegisterType(typeof(ConfigurationWatchProvider)).As(typeof(IConfigurationWatchProvider)).SingleInstance();
     RegisterConfigInstance(builder);
     RegisterLocalInstance("ICacheClient`1", builder);
 }
Example #24
0
        /// <summary>
        /// 注册服务
        /// </summary>
        /// <param name="builder">构建器包装</param>
        protected override void ConfigureContainer(ContainerBuilderWrapper builder)
        {
            builder.RegisterType <FaultTolerantProvider>().As <IFaultTolerantProvider>().SingleInstance();
            builder.RegisterType <DefaultHealthCheckService>().As <IHealthCheckService>().SingleInstance();
            builder.RegisterType <ServiceDiscoveryProvider>().As <IServiceDiscoveryProvider>().SingleInstance();
            builder.RegisterType <ServiceRegisterProvider>().As <IServiceRegisterProvider>().SingleInstance();
            builder.RegisterType <ServiceSubscribeProvider>().As <IServiceSubscribeProvider>().SingleInstance();
            builder.RegisterType <ServiceCacheProvider>().As <IServiceCacheProvider>().SingleInstance();
            builder.RegisterType <ServicePartProvider>().As <IServicePartProvider>().SingleInstance();

            builder.Register(provider =>
            {
                var serviceProxyProvider = provider.Resolve <IServiceProxyProvider>();
                var serviceRouteProvider = provider.Resolve <IServiceRouteProvider>();
                var serviceProvider      = provider.Resolve <CPlatformContainer>();
                return(new AuthorizationServerProvider(serviceProxyProvider, serviceRouteProvider, serviceProvider));
            }).As <IAuthorizationServerProvider>().SingleInstance();
        }
Example #25
0
        /// <summary>
        /// Inject dependent third-party components
        /// </summary>
        /// <param name="builder"></param>
        protected override void RegisterBuilder(ContainerBuilderWrapper builder)
        {
            var options = new WebSocketOptions();
            var section = AppConfig.GetSection("WebSocket");

            if (section.Exists())
            {
                options = section.Get <WebSocketOptions>();
            }
            base.RegisterBuilder(builder);
            builder.RegisterType(typeof(DefaultWSServiceEntryProvider)).As(typeof(IWSServiceEntryProvider)).SingleInstance();
            if (AppConfig.ServerOptions.Protocol == CommunicationProtocol.WS)
            {
                RegisterDefaultProtocol(builder, options);
            }
            else if (AppConfig.ServerOptions.Protocol == CommunicationProtocol.None)
            {
                RegisterWSProtocol(builder, options);
            }
        }
        protected override void RegisterBuilder(ContainerBuilderWrapper builder)
        {
            CPlatform.AppConfig.ServerOptions.DisableServiceRegistration = true;
            var section = CPlatform.AppConfig.GetSection("TransferContract");

            if (section.Exists())
            {
                AppConfig.Options = section.Get <List <TransferContractOption> >();
            }
            builder.RegisterType <HttpTransportClient>().Named <ITransportClient>(TransferContractType.Rest.ToString()).SingleInstance();
            builder.RegisterType <WebServiceTransportClient>().Named <ITransportClient>(TransferContractType.WebService.ToString()).SingleInstance();
            builder.RegisterType <SoapWebServiceTransportClient>().Named <ITransportClient>(TransferContractType.SoapWebService.ToString()).SingleInstance();
            builder.RegisterType <HttpClientProvider>().As <IHttpClientProvider>().SingleInstance();
            builder.RegisterType <WebServiceProvider>().As <IWebServiceProvider>().SingleInstance();
            builder.RegisterType <MessageSender>().As <IMessageSender>().SingleInstance();
        }
Example #27
0
 /// <summary>
 /// Inject dependent third-party components
 /// </summary>
 /// <param name="builder"></param>
 protected override void RegisterBuilder(ContainerBuilderWrapper builder)
 {
     base.RegisterBuilder(builder);
     builder.Register(provider =>
     {
         return(new DefaultUdpServiceEntryProvider(
                    provider.Resolve <IServiceEntryProvider>(),
                    provider.Resolve <ILogger <DefaultUdpServiceEntryProvider> >(),
                    provider.Resolve <CPlatformContainer>()
                    ));
     }).As(typeof(IUdpServiceEntryProvider)).SingleInstance();
     builder.RegisterType(typeof(UdpServiceExecutor)).As(typeof(IServiceExecutor))
     .Named <IServiceExecutor>(CommunicationProtocol.Udp.ToString()).SingleInstance();
     if (CPlatform.AppConfig.ServerOptions.Protocol == CommunicationProtocol.Dns)
     {
         RegisterDefaultProtocol(builder);
     }
     else if (CPlatform.AppConfig.ServerOptions.Protocol == CommunicationProtocol.None)
     {
         RegisterUdpProtocol(builder);
     }
 }
 public static void AddClientIntercepted(this ContainerBuilderWrapper builder, Type interceptorServiceType)
 {
     builder.RegisterType(interceptorServiceType).As <IInterceptor>().SingleInstance();
     builder.RegisterType <InterceptorProvider>().As <IInterceptorProvider>().SingleInstance();
 }
 /// <summary>
 /// Inject dependent third-party components
 /// </summary>
 /// <param name="builder"></param>
 protected override void RegisterBuilder(ContainerBuilderWrapper builder)
 {
     base.RegisterBuilder(builder);
     builder.RegisterType<ProtoBufferTransportMessageCodecFactory>().As<ITransportMessageCodecFactory>().SingleInstance();
 }
 /// <summary>
 /// Inject dependent third-party components
 /// </summary>
 /// <param name="builder"></param>
 protected override void RegisterBuilder(ContainerBuilderWrapper builder)
 {
     base.RegisterBuilder(builder);
     builder.RegisterType <RpcTransportDiagnosticProcessor>().As <ITracingDiagnosticProcessor>().SingleInstance();
 }