Esempio n. 1
0
#pragma warning disable CS1998 // 异步方法缺少 "await" 运算符,将以同步方式运行
        public async Task SetFriendshipPayload(string friendshipId, FriendshipPayload newPayload)
#pragma warning restore CS1998 // 异步方法缺少 "await" 运算符,将以同步方式运行
        {
            if (Logger.IsEnabled(LogLevel.Trace))
            {
                Logger.LogTrace($"friendshipPayload({friendshipId}){JsonConvert.SerializeObject(newPayload)}");
            }
            _ = CacheFriendshipPayload.Set(friendshipId, newPayload);
        }
Esempio n. 2
0
#pragma warning disable CS1998 // 异步方法缺少 "await" 运算符,将以同步方式运行
        protected async Task FriendshipPayloadDirty(string friendshipId)
#pragma warning restore CS1998 // 异步方法缺少 "await" 运算符,将以同步方式运行
        {
            if (Logger.IsEnabled(LogLevel.Trace))
            {
                Logger.LogTrace($"friendshipPayloadDirty({friendshipId})");
            }
            _ = CacheFriendshipPayload.Delete(friendshipId);
        }
Esempio n. 3
0
        /// <summary>
        /// Get and Set
        /// </summary>
        /// <param name="friendshipId"></param>
        /// <returns></returns>
        public async Task <FriendshipPayload> GetFriendshipPayload(string friendshipId)
        {
            if (Logger.IsEnabled(LogLevel.Trace))
            {
                Logger.LogTrace($"friendshipPayload({friendshipId})");
            }
            //1. Try to get from cache first
            var cachedPayload = FriendshipPayloadCache(friendshipId);

            if (cachedPayload != null)
            {
                return(cachedPayload);
            }

            //2. Cache not found
            var rawPayload = await FriendshipRawPayload(friendshipId);

            var payload = await FriendshipRawPayloadParser(rawPayload);

            CacheFriendshipPayload.Set(friendshipId, payload);

            return(payload);
        }
Esempio n. 4
0
        protected FriendshipPayload?FriendshipPayloadCache(string friendshipId)
        {
            if (Logger.IsEnabled(LogLevel.Trace))
            {
                Logger.LogTrace($"friendshipPayloadCache(id={friendshipId}) @ {this}");
            }

            if (string.IsNullOrWhiteSpace(friendshipId))
            {
                throw new ArgumentException("no id");
            }
            var cachedPayload = CacheFriendshipPayload.Get(friendshipId);

            if (cachedPayload == null)
            {
                if (Logger.IsEnabled(LogLevel.Trace))
                {
                    Logger.LogTrace($"friendshipPayloadCache({friendshipId}) cache MISS");
                }
            }

            return(cachedPayload);
        }