public async Task <TValue> GetAsync <TValue>(string key, CancellationToken cancellation = default(CancellationToken)) { CheckIfInitialized(); try { byte[] blob = null; using (var activity = _activitySource?.StartActivity("Get from cache.", ActivityKind.Producer)) { activity?.AddTag("cacheKey", key); blob = await DistributeCache?.GetAsync(key, cancellation); if (null == blob) { return(default(TValue)); } using (var serializerActivity = _activitySource?.StartActivity("Deserialize.", ActivityKind.Producer)) return(SerializerFactory.Deserialize <TValue>(blob)); } } catch (Exception ex) { throw new DataCacheException(ex.Message); } }
public async Task PutAsync <T>(string key, TimeSpan timeout, T value, bool isSlided = false, CancellationToken cancellation = default(CancellationToken)) { CheckIfInitialized(); if (value == null) { throw new ArgumentNullException(nameof(value)); } byte[] blob = null; using (var activity = _activitySource?.StartActivity("Put to cache.", ActivityKind.Producer)) { using (var serializerActivity = _activitySource?.StartActivity("Serialize.", ActivityKind.Producer)) blob = SerializerFactory.Serialize <T>(value); var dceo = new DistributedCacheEntryOptions(); if (isSlided) { dceo.SetSlidingExpiration(timeout); } else { dceo.SetAbsoluteExpiration(timeout); } activity?.AddTag("cacheKey", key); await DistributeCache.SetAsync(key, blob, dceo, cancellation); } }
public async Task <bool> RemoveAsync(string key, CancellationToken cancellation = default(CancellationToken)) { using (var activity = _activitySource?.StartActivity("Remove from cache.", ActivityKind.Producer)) { activity?.AddTag("cacheKey", key); CheckIfInitialized(); try { await DistributeCache.RemoveAsync(key, cancellation); return(true); } catch (Exception) { return(false); } } }
public bool Remove(string key) { using (var activity = _activitySource?.StartActivity("Remove from cache.", ActivityKind.Producer)) { activity?.AddTag("cacheKey", key); CheckIfInitialized(); try { DistributeCache.Remove(key); return(true); } catch (Exception) { return(false); } } }
public void Put <T>(string key, T value) { CheckIfInitialized(); if (value == null) { throw new ArgumentNullException(nameof(value)); } using (var activity = _activitySource?.StartActivity("Put to cache.", ActivityKind.Producer)) { byte[] blob = null; using (var serializerActivity = _activitySource?.StartActivity("Serialize.", ActivityKind.Producer)) blob = SerializerFactory.Serialize <T>(value); activity?.AddTag("cacheKey", key); DistributeCache?.Set(key, blob, DefaultOption); } }
public async Task PutAsync <T>(string key, T value, CancellationToken cancellation = default(CancellationToken)) { CheckIfInitialized(); if (value == null) { throw new ArgumentNullException(nameof(value)); } using (var activity = _activitySource?.StartActivity("Put to cache.", ActivityKind.Producer)) { byte[] blob = null; using (var serializerActivity = _activitySource?.StartActivity("Serialize.", ActivityKind.Producer)) blob = SerializerFactory.Serialize <T>(value); activity?.AddTag("cacheKey", key); await DistributeCache.SetAsync(key, blob, DefaultOption, cancellation); } }