public DistributedEventBusService(IRedisFactory redisFactory, IMemoryEventBusService memoryEventBusService) { _connectionMultiplexer = redisFactory.CreateConnection(); _subscriber = _connectionMultiplexer.GetSubscriber(); _subscriber.Subscribe(GetChannel(), (channel, json) => { var jObj = JObject.Parse(json); var eventName = jObj.Value <string>("EventName"); var parameters = (JArray)jObj["Parameters"]; var invokeParameters = new List <object>(parameters.Count); foreach (var parameter in parameters) { var typeName = parameter.Value <string>("TypeName"); var content = parameter.Value <string>("Content"); var type = Type.GetType(typeName, false); if (type == null) { continue; } invokeParameters.Add(JsonConvert.DeserializeObject(content, type)); } try { memoryEventBusService.PublishRequest(eventName, invokeParameters.ToArray()); } catch (Exception ex) { _Logger.Error("DistributedEventBusService_Exception:", ex); } }); }
public MutualClassRewardQueueService(IRepositoryContext repositoryContext, IMemoryEventBusService memoryEventBusService) { _repositoryContext = repositoryContext; _memoryEventBusService = memoryEventBusService; }
/// <summary> /// 登入信息 /// </summary> /// <param name="memoryEventBusService"></param> /// <param name="accountId"></param> public static void PublishUserSignIn(this IMemoryEventBusService memoryEventBusService, UserInfo user, string sessionID) { var parameters = new[] { JsonConvert.SerializeObject(user), sessionID }; memoryEventBusService.PublishRequest(SampleUserSignIn, parameters); }
public UserService(IMemoryEventBusService memoryEventBusService, IRedisFactory redisFactory) { _memoryEventBusService = memoryEventBusService; _connectionMultiplexer = redisFactory.CreateConnection(); _cookieAccountId = CookieHelper.GetCookieValue(SystemConfig.CookiesKey); }
/// <summary> /// /// </summary> /// <param name="memoryEventBusService"></param> /// <param name="accountId"></param> public static void PublishAgentProfitsAssign(this IMemoryEventBusService memoryEventBusService, string accountId, int agentPrice) { var parameters = new[] { accountId, agentPrice.ToString() }; memoryEventBusService.PublishRequest(AgentProfitsAssign, parameters); }
public SignInEventBusProviders(IMemoryEventBusService memoryEventBusService, IRedisFactory redisFactory) { _memoryEventBusService = memoryEventBusService; _connectionMultiplexer = redisFactory.CreateConnection(); }