public static T GetAndSet <T>(this IEasyCacheService easyCacheService, string key, Func <T> getResult, TimeSpan expireTime)
        {
            var data = easyCacheService.Get <T>(key);

            if (data == null)
            {
                data = getResult();
                easyCacheService.Set(key, data, expireTime);
            }

            return(data);
        }
        public static Task <T> GetAndSetAsync <T>(this IEasyCacheService easyCacheService, string key, Func <Task <T> > getResult, TimeSpan expireTime)
        {
            var data = easyCacheService.Get <T>(key);

            if (data == null)
            {
                data = getResult().GetAwaiter().GetResult();
                easyCacheService.Set(key, data, expireTime);
            }

            return(Task.FromResult(data));
        }
 public DefaultController(IEasyCacheService easyCacheService)
 {
     this.easyCacheService = easyCacheService;
 }