Esempio n. 1
0
        public EventReader(Stream stream, IBucketBuilder builder)
        {
            if (stream == null)
            {
                throw new ArgumentNullException(nameof(stream));
            }

            _reader  = new BinaryReader(stream);
            _builder = builder;
        }
Esempio n. 2
0
        /// <summary>
        /// 添加RPC核心服务。
        /// </summary>
        /// <param name="services">服务集合。</param>
        /// <returns>Rpc服务构建者。</returns>
        public static IRpcBuilder AddRpcCore(this IBucketBuilder builder)
        {
            if (builder == null)
            {
                throw new ArgumentNullException(nameof(builder));
            }

            builder.Services.AddSingleton <IServiceIdGenerator, DefaultServiceIdGenerator>();

            builder.Services.AddSingleton <ITypeConvertibleProvider, DefaultTypeConvertibleProvider>();
            builder.Services.AddSingleton <ITypeConvertibleService, DefaultTypeConvertibleService>();

            // services.AddSingleton<IServiceRouteFactory, DefaultServiceRouteFactory>();

            return(new RpcBuilder(builder.Services).AddJsonSerialization().UseJsonCodec());
        }
Esempio n. 3
0
 /// <summary>
 /// 添加配置中心服务
 /// </summary>
 /// <param name="services"></param>
 /// <param name="configSetting"></param>
 /// <returns></returns>
 public static IBucketConfigBuilder AddConfigServer(this IBucketBuilder builder, string section = "ConfigServer")
 {
     return(AddConfigServer(builder.Services, builder.Configuration, section));
 }
 /// <summary>
 /// 注册Util基础设施服务
 /// </summary>
 /// <param name="builder"></param>
 /// <returns></returns>
 public static IServiceCollection AddUtil(this IBucketBuilder builder)
 {
     return(AddUtil(builder.Services));
 }
 /// <summary>
 /// 添加链路追踪,来自SkyApm收集方法
 /// </summary>
 /// <param name="services"></param>
 /// <returns></returns>
 public static SkyApmExtensions AddBucketSkyApmCore(this IBucketBuilder builder)
 {
     return(AddBucketSkyApmCore(builder.Services));
 }
Esempio n. 6
0
 /// <summary>
 /// 添加错误码服务
 /// </summary>
 /// <param name="builder"></param>
 /// <param name="section"></param>
 /// <returns></returns>
 public static IBucketErrorCodeBuilder AddErrorCodeServer(this IBucketBuilder builder, string section = "ErrorCodeServer")
 {
     return(AddErrorCodeServer(builder.Services, builder.Configuration, section));
 }
 /// <summary>
 /// 批量注册服务
 /// </summary>
 /// <param name="services">DI服务</param>
 /// <param name="assembly">需要批量注册的程序集</param>
 /// <param name="endWith">类名结束字符</param>
 /// <param name="serviceLifetime">服务生命周期</param>
 /// <returns></returns>
 public static IServiceCollection BatchRegisterService(this IBucketBuilder builder, Assembly assembly, string endWith, ServiceLifetime serviceLifetime = ServiceLifetime.Singleton)
 {
     return(BatchRegisterService(builder.Services, assembly, endWith, serviceLifetime));
 }
Esempio n. 8
0
 /// <summary>
 /// 添加RPC核心服务。
 /// </summary>
 /// <param name="services">服务集合。</param>
 /// <returns>Rpc服务构建者。</returns>
 public static IRpcBuilder AddRpcCore(this IBucketBuilder builder)
 {
     return(AddRpcCore(builder.Services));
 }
 /// <summary>
 /// 添加Host启动执行服务
 /// </summary>
 /// <param name="builder"></param>
 /// <param name="action"></param>
 /// <returns></returns>
 public static IServiceCollection AddAspNetCoreHostedService(this IBucketBuilder builder, Action <HostedServiceBuilder> action)
 {
     return(AddBucketHostedService(builder.Services, action));
 }
 /// <summary>
 /// 添加缓存组件
 /// </summary>
 /// <param name="services"></param>
 /// <param name="action"></param>
 /// <returns></returns>
 public static IServiceCollection AddCaching(this IBucketBuilder builder, Action <DefaultCachingBuilder> action)
 {
     return(AddCaching(builder.Services, action));
 }
 /// <summary>
 /// 添加日志消息总线传输方式
 /// </summary>
 /// <param name="services"></param>
 /// <returns></returns>
 public static IServiceCollection AddLogEventTransport(this IBucketBuilder builder)
 {
     return(AddLogEventTransport(builder.Services));
 }
 /// <summary>
 /// 添加应用监听
 /// </summary>
 /// <param name="services"></param>
 /// <param name="configuration"></param>
 /// <returns></returns>
 public static IServiceCollection AddListener(this IBucketBuilder builder, Action <BucketListenerBuilder> action)
 {
     return(AddListener(builder.Services, action));
 }
Esempio n. 13
0
 /// <summary>
 /// Begin building the default scope.
 /// </summary>
 /// <param name="builder">The bucket builder.</param>
 /// <returns>The <see cref="IScopeBuilder"/> for building the scope.</returns>
 public static IScopeBuilder AddDefaultScope(this IBucketBuilder builder) =>
 builder.AddScope("_default");
Esempio n. 14
0
 /// <summary>
 /// Register an interface based on <see cref="INamedCollectionProvider"/> which will be injected
 /// with the default scope/collection.
 /// </summary>
 /// <typeparam name="T">Interface inherited from <see cref="INamedCollectionProvider"/>. Must not add any members.</typeparam>
 /// <param name="builder">The bucket builder.</param>
 /// <returns>The <see cref="IScopeBuilder"/> for the default scope, used for chaining.</returns>
 public static IScopeBuilder AddDefaultCollection <T>(this IBucketBuilder builder)
     where T : class, INamedCollectionProvider =>
 builder.AddDefaultScope().AddDefaultCollection <T>();
 /// <summary>
 /// 添加框架默认基础
 /// AddOptions\AddLogging\AddHttpContextAccessor\AddIUser\AddIRequestScopedDataRepository\AddIJsonHelper\AddIErrorCode
 /// </summary>
 /// <param name="services"></param>
 /// <returns></returns>
 public static IServiceCollection AddAspNetCore(this IBucketBuilder builder)
 {
     return(AddBucketAspNetCore(builder.Services));
 }
 /// <summary>
 /// 批量注册服务
 /// </summary>
 /// <param name="services">DI服务</param>
 /// <param name="typeList">类集合</param>
 /// <param name="serviceLifetime">服务生命周期</param>
 /// <returns></returns>
 public static IServiceCollection BatchRegisterService(this IBucketBuilder builder, IEnumerable <Type> typeList, ServiceLifetime serviceLifetime = ServiceLifetime.Singleton)
 {
     return(BatchRegisterService(builder.Services, typeList, serviceLifetime));
 }
 /// <summary>
 /// 添加服务发现
 /// </summary>
 /// <param name="builder"></param>
 /// <param name="action"></param>
 /// <returns></returns>
 public static IServiceDiscoveryBuilder AddServiceDiscovery(this IBucketBuilder builder, Action <IServiceDiscoveryBuilder> action)
 {
     return(AddServiceDiscovery(builder.Services, action));
 }
 /// <summary>
 /// 添加Jwt认证,IBucketBuilder扩展
 /// </summary>
 /// <param name="builder"></param>
 /// <param name="section"></param>
 /// <returns></returns>
 public static AuthenticationBuilder AddApiJwtAuthorize(this IBucketBuilder builder, string section = "JwtAuthorize")
 {
     return(AddApiJwtAuthorize(builder.Services, builder.Configuration, section));
 }
 /// <summary>
 /// 添加负载均衡器
 /// </summary>
 /// <param name="services"></param>
 /// <param name="configAction"></param>
 /// <returns></returns>
 public static IServiceCollection AddLoadBalancer(this IBucketBuilder builder)
 {
     return(AddLoadBalancer(builder.Services));
 }
Esempio n. 20
0
 /// <summary>
 /// 添加sqlSugar多数据库支持
 /// </summary>
 /// <param name="builder"></param>
 /// <param name="contextLifetime"></param>
 /// <param name="section"></param>
 /// <returns></returns>
 public static IServiceCollection AddSqlSugarDbContext(this IBucketBuilder builder, ServiceLifetime contextLifetime = ServiceLifetime.Scoped, string section = "DbConfig")
 {
     return(AddSqlSugarDbContext(builder.Services, builder.Configuration, contextLifetime, section));
 }
 /// <summary>
 /// 添加事件消息总线
 /// </summary>
 /// <param name="builder"></param>
 /// <param name="configuration"></param>
 /// <param name="action"></param>
 /// <returns></returns>
 public static IEventBusBuilder AddEventBus(this IBucketBuilder builder, Action <IEventBusBuilder> action)
 {
     return(AddEventBus(builder.Services, action));
 }
Esempio n. 22
0
 public static IServiceCollection AddWebSocketManager(this IBucketBuilder builder, Assembly assembly = null)
 {
     return(AddWebSocketManager(builder.Services, assembly));
 }