public void SubscriberRemoved(SubscriberModel model) { var stringModel = JsonConvert.SerializeObject(model); // set expiration to 1 second, anything lower than that seems to throw an exception var expiration = new TimeSpan(10000000); _database.StringSet(GetRedisKeyForAppId(model.ApplicationId), stringModel, expiration); _database.StringSet(GetRedisKeyForKey(model.Key), stringModel, expiration); // expire the get all subscribers call _database.StringSet(HASH_EXPIRATION, DateTime.UtcNow.Ticks); }
public void AddOrUpdateSubscriber(SubscriberModel model) { var config = GetConfiguration(); var expirationTicks = config?.Company?.CacheTimeoutTicks; var expiration = expirationTicks != null ? new TimeSpan?(new TimeSpan(expirationTicks.Value)) : null; var stringModel = JsonConvert.SerializeObject(model); _database.StringSet(GetRedisKeyForAppId(model.ApplicationId), stringModel, expiration); _database.StringSet(GetRedisKeyForKey(model.Key), stringModel, expiration); _database.HashSet(SUBSCRIO_ALL_KEY, GetRedisKeyForKey(model.Key), stringModel); }
public void ShouldStoreAndRetrieveSubscriber() { var model = new SubscriberModel { ApplicationId = "AppTuttle", Key = "KeyTuttle", }; _redis.AddOrUpdateSubscriber(model); var result = _redis.GetByApplicationId("AppTuttle"); Assert.IsNotNull(result); result = _redis.GetByKey("KeyTuttle"); Assert.IsNotNull(result); }
public void ShouldHaveExpiredAndReturnNull() { var model = new SubscriberModel { ApplicationId = "AppTuttle", Key = "KeyTuttle", }; _redis.AddOrUpdateSubscriber(model); System.Threading.Thread.Sleep(6000); var result = _redis.GetByApplicationId("AppTuttle"); Assert.IsNull(result); result = _redis.GetByKey("KeyTuttle"); Assert.IsNull(result); }
public void SubscriberRemoved(SubscriberModel model) { }
public void AddOrUpdateSubscriber(SubscriberModel model) { }
public virtual string UpdateSubscription(SubscriberModel model) { using (var wc = new WebClient { Encoding = Encoding.UTF8 }) { wc.Headers[HttpRequestHeader.ContentType] = "application/json"; wc.Headers[HttpRequestHeader.Authorization] = AuthToken; try { return wc.UploadString(Endpoint + UPDATE_SUBSCRIPTION, "PUT", JsonConvert.SerializeObject(model)); } catch (WebException ex) { return wc.UploadString(Endpoint + UPDATE_SUBSCRIPTION, "PUT", JsonConvert.SerializeObject(model)); } } }