private void SetCacheExpirationTime(TimeSpan expirationTime)
{
expirationTime = expirationTime == default(TimeSpan) ? defaultExpirationTime : expirationTime;
expirationDate = DateTimeOffset.UtcNow.Add(expirationTime);
HasExpired = false;
Task.Run(async () =>
{
var now = DateTimeOffset.UtcNow;
while (now < expirationDate)
{
await Task.Delay(10000); //MK check every 10s
now = DateTimeOffset.UtcNow;
}
await ClearData();
CacheExpired?.Invoke(this, EventArgs.Empty);
});
}
}