/// <summary>
 /// 发布事件
 /// </summary>
 /// <param name="messageEventBus">消息事件总线</param>
 /// <param name="events">事件集合</param>
 public static async Task PublishAsync(this IMessageEventBus messageEventBus, IEnumerable <IMessageEvent> events)
 {
     foreach (var @event in events)
     {
         await messageEventBus.PublishAsync(@event);
     }
 }
Example #2
0
 public RequestRecorderMiddleware(RequestDelegate next, IMessageEventBus <RequestEventMessage> eventBus, IMessageEventBus <StoreBodyEventMessage> eventBusStoreBody, RinChannel rinChannel, ILoggerFactory loggerFactory)
 {
     _next              = next;
     _eventBus          = eventBus;
     _eventBusStoreBody = eventBusStoreBody;
     _logger            = loggerFactory.CreateLogger <RequestRecorderMiddleware>();
 }
Example #3
0
 /// <summary>
 /// 初始化一个<see cref="TestController"/>类型的实例
 /// </summary>
 public TestController(ITestService testService
                       , IProcessingServer processingServer
                       , IMessageEventBus messageEventBus
                       , IAdminUnitOfWork unitOfWork)
 {
     TestService      = testService;
     ProcessingServer = processingServer;
     MessageEventBus  = messageEventBus;
     UnitOfWork       = unitOfWork;
 }
Example #4
0
 /// <summary>
 /// 初始化角色服务
 /// </summary>
 /// <param name="unitOfWork">工作单元</param>
 /// <param name="messageEventBus">消息事件总线</param>
 /// <param name="roleManager">角色服务</param>
 /// <param name="roleRepository">角色仓储</param>
 public RoleService(ISampleUnitOfWork unitOfWork
                    , IMessageEventBus messageEventBus
                    , IRoleManager roleManager
                    , IRoleRepository roleRepository)
     : base(unitOfWork, roleRepository)
 {
     UnitOfWork      = unitOfWork;
     MessageEventBus = messageEventBus;
     RoleManager     = roleManager;
     RoleRepository  = roleRepository;
 }
Example #5
0
 /// <summary>
 /// 初始化一个<see cref="SecurityService"/>类型的实例
 /// </summary>
 public SecurityService(IAdminUnitOfWork unitOfWork
                        , IJsonWebTokenBuilder tokenBuilder
                        , IMessageEventBus messageEventBus
                        , IUserRepository userRepository
                        , IApplicationRepository applicationRepository
                        , IRoleRepository roleRepository
                        , ISignInManager signInManager)
 {
     UnitOfWork            = unitOfWork;
     TokenBuilder          = tokenBuilder;
     MessageEventBus       = messageEventBus;
     UserRepository        = userRepository;
     ApplicationRepository = applicationRepository;
     RoleRepository        = roleRepository;
     SignInManager         = signInManager;
 }
 /// <summary>
 /// 初始化一个<see cref="TestController"/>类型的实例
 /// </summary>
 public TestController(ITestService testService
                       , IProcessingServer processingServer
                       , IMessageEventBus messageEventBus
                       , IAdminUnitOfWork unitOfWork
                       , IExceptionNotifier exceptionNotifier
                       , ILogger <TestController> logger
                       , ILog <TestController> otherLog)
 {
     TestService       = testService;
     ProcessingServer  = processingServer;
     MessageEventBus   = messageEventBus;
     UnitOfWork        = unitOfWork;
     ExceptionNotifier = exceptionNotifier;
     Logger            = logger;
     OtherLog          = otherLog;
 }
Example #7
0
        public RedisRecordStorage(RedisRecordStorageOptions options, IMessageEventBus <RequestEventMessage> eventBus)
        {
            _options         = options;
            _eventBus        = eventBus;
            _redisConnection = ConnectionMultiplexer.Connect(_options.ConnectionConfiguration);
            _redis           = _redisConnection.GetDatabase(_options.Database);

            _redisSubscriber = _redisConnection.GetSubscriber();
            _redisSubscriber.Subscribe(GetRedisKey(RedisSubscriptionKey), (channel, value) =>
            {
                var message = Deserialize <RequestEventMessage>(value);

                // Ignore a messages from this storage.
                if (message.EventSource == _eventSourceKey)
                {
                    return;
                }

                _eventBus.PostAsync(message);
            });
        }
Example #8
0
 /// <summary>
 /// 初始化一个<see cref="EventBus"/>类型的实例
 /// </summary>
 /// <param name="manager">事件处理器服务</param>
 /// <param name="messageEventBus">消息事件总线</param>
 public EventBus(IEventHandlerManager manager, IMessageEventBus messageEventBus = null)
 {
     Manager         = manager;
     MessageEventBus = messageEventBus;
 }
Example #9
0
 /// <summary>
 /// 初始化一个<see cref="TestMessageEventHandler"/>类型的实例
 /// </summary>
 public TestMessageEventHandler(IAdminUnitOfWork unitOfWork, IMessageEventBus messageEventBus, ILogger <TestMessageEventHandler> logger)
 {
     UnitOfWork      = unitOfWork;
     MessageEventBus = messageEventBus;
     Logger          = logger;
 }
Example #10
0
 /// <summary>
 /// 初始化Cap事件总线
 /// </summary>
 /// <param name="simpleEventBus">基于内存的简单事件总线</param>
 /// <param name="messageEventBus">Cap消息事件总线</param>
 public EventBus(ISimpleEventBus simpleEventBus, IMessageEventBus messageEventBus)
 {
     SimpleEventBus  = simpleEventBus ?? throw new ArgumentNullException(nameof(simpleEventBus));
     MessageEventBus = messageEventBus ?? throw new ArgumentNullException(nameof(messageEventBus));
 }
 /// <summary>
 /// 初始化一个<see cref="TestMessageEventHandler"/>类型的实例
 /// </summary>
 public TestMessageEventHandler(IAdminUnitOfWork unitOfWork, IMessageEventBus messageEventBus)
 {
     UnitOfWork      = unitOfWork;
     MessageEventBus = messageEventBus;
 }
Example #12
0
 /// <summary>
 /// 初始化一个<see cref="EventBus"/>类型的实例
 /// </summary>
 /// <param name="factory">事件处理器工厂</param>
 /// <param name="messageEventBus">消息事件总线</param>
 public EventBus(IEventHandlerFactory factory, IMessageEventBus messageEventBus = null)
 {
     Factory         = factory;
     MessageEventBus = messageEventBus;
 }
Example #13
0
 /// <summary>
 /// 初始化一个<see cref="TestService"/>类型的实例
 /// </summary>
 public TestService(IMessageEventBus messageEventBus)
 {
     MessageEventBus = messageEventBus;
 }