internal protected override async Task <CacheValue> GetCoreAsync(string key, Type valueType) { Guard.ArgumentNotNullOrWhiteSpace(key, nameof(key)); Guard.ArgumentNotNull(valueType, nameof(valueType)); var bytes = await _cache.GetAsync(key); if (null == bytes) { return(CacheValue.NonExistent); } return(new CacheValue { Exists = true, Value = _serializer.Deserialized(bytes, valueType) }); }