private void CompleteSubscriptionTrigger(T currentData) { if (EnableCaching) { if (!SetCachedEntity(currentData)) { if (PreventSubForAlreadyCachedData) { return; } } } if (SubscriptionTriggered == null) { return; } var receivers = SubscriptionTriggered.GetInvocationList(); foreach (SubscriptionTriggeredEventHandler receiver in receivers) { receiver.Invoke(this, currentData); } }
private void SubscriptionTriggeredResponse(RedisChannel redisChannel, RedisValue redisValue) { try { if (redisValue.ToString() == "set") { string key = redisChannel.ToString().Replace("__keyspace@" + DefaultDatabase + "__:", String.Empty); var currentData = GetByIdCore(key); if (EnableCaching) { if (!SetCachedEntity(currentData)) { if (PreventSubForAlreadyCachedData) { return; } } } if (SubscriptionTriggered == null) { return; } var receivers = SubscriptionTriggered.GetInvocationList(); foreach (SubscriptionTriggeredEventHandler receiver in receivers) { receiver.BeginInvoke(this, currentData, null, null); } } else if (redisValue.ToString() == "del") { try { string key = redisChannel.ToString().Replace("__keyspace@" + DefaultDatabase + "__:", String.Empty); DeleteCachedEntity(key); } catch { } } } catch (Exception ex) { Logger.Log(ex); } }
private void SubscriptionTriggerHandler(object sender, SubscriptionEventArgs e) { SubscriptionTriggered?.Invoke(sender, e); }