public EventReader(Stream stream, IBucketBuilder builder) { if (stream == null) { throw new ArgumentNullException(nameof(stream)); } _reader = new BinaryReader(stream); _builder = builder; }
/// <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()); }
/// <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)); }
/// <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)); }
/// <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)); }
/// <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");
/// <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)); }
/// <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)); }
public static IServiceCollection AddWebSocketManager(this IBucketBuilder builder, Assembly assembly = null) { return(AddWebSocketManager(builder.Services, assembly)); }