Esempio n. 1
0
        public async Task Get_Test()
        {
            var result = await _tokenAppService.GetAsync();

            _testOutputHelper.WriteLine(JsonConvert.SerializeObject(result));
            result.IsSuccess().ShouldBe(true);
            result.AccessToken.ShouldNotBeNullOrWhiteSpace();
        }
        /// <summary>
        ///     获取AccessToken
        /// </summary>
        /// <returns></returns>
        public async Task <string> GetAccessTokenAsync()
        {
            var value = await _cache.GetStringAsync(Key);

            if (!string.IsNullOrEmpty(value))
            {
                return(value);
            }

            var result = await _tokenApi.GetAsync();

            value = result.AccessToken;
            Logger.Debug("Token获取成功...");
            await _cache.SetStringAsync(Key, value,
                                        new DistributedCacheEntryOptions().SetSlidingExpiration(TimeSpan.FromSeconds(7000)));

            Logger.Debug("Token已写入缓存...");
            return(value);
        }