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