BuildIt.Config.Impl.Common.FileCacheService.SetCacheExpirationTime C# (CSharp) Method

SetCacheExpirationTime() private method

private SetCacheExpirationTime ( System.TimeSpan expirationTime ) : void
expirationTime System.TimeSpan
return void
        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);
            });
        }
    }