public void AddOrIncrementWithExpiration(IThrottleKey key, Limiter limiter)
{
string id = CreateThrottleKey(key, limiter);
var cacheItem = _store.Get(id) as ThrottleCacheItem;
if (cacheItem != null)
{
cacheItem.Count = cacheItem.Count + 1;
}
else
{
cacheItem = new ThrottleCacheItem()
{
Count = 1,
Expiration = CurrentDate().Add(limiter.Period)
};
}
_store.Set(id, cacheItem, cacheItem.Expiration);
}