예제 #1
0
        /// <summary>
        /// 获取token
        /// </summary>
        /// <param name="account">account</param>
        /// <returns></returns>
        private async Task <string> GetTokenMemory(string account)
        {
            var memory = _memoryCache.TryGetValue(account + "token", out string tokenValue);

            if (memory && tokenValue.IsNotWhiteSpace())
            {
                Console.WriteLine("cache is exist");
                return(tokenValue);
            }

            var data = await _apiAuthUserDao.GetTokenAsync(account);

            if (data != null)
            {
                Console.WriteLine("cache is not exist");
                SetTokenMemory(account, data.JwtToken);
            }
            else
            {
                LogManage.ApiLog(new ApiLog()
                {
                    ConfirmNo       = account,
                    ModelName       = "GetTokenMemory",
                    RequestContext  = account,
                    ResponseContext = $"{account} 不存在token"
                });
            }

            return(data?.JwtToken);
        }
예제 #2
0
        /// <summary>
        /// LogException 记录日志
        /// </summary>
        private static async Task LogException(HttpContext context, string response)
        {
            var path = context.Request.Path.Value;

            if (path.ToLower().Contains("swagger"))
            {
                return;
            }
            var request = await context.Request.ReadRequestAsync();

            LogManage.ApiLog(new ApiLog()
            {
                ConfirmNo       = context.Request.Path.Value,
                ModelName       = context.Request.Method,
                RequestContext  = request,
                ResponseContext = response
            });
            return;
        }