protected virtual async Task <string[]> GetUserRolesAsync(Guid userId)
        {
            // 通过工作单元来缓存用户角色,防止多次查询
            if (CurrentUnitOfWork != null)
            {
                var userRoleItemKey = $"FindRolesByUser:{userId}";

                return(await CurrentUnitOfWork.GetOrAddItem(userRoleItemKey, (key) =>
                {
                    // 取消同步调用
                    //var roles = AsyncHelper.RunSync(async ()=> await UserRoleFinder.GetRolesAsync(userId));
                    return UserRoleFinder.GetRolesAsync(userId);
                }));
            }
            return(await UserRoleFinder.GetRolesAsync(userId));
        }