public static void AddUserIdToSession(string sessionCode, string loginId, string userGuid, string legacyAvatarUrl) { foreach (var item in SessionDict.Where(kvp => kvp.Value.TimeStamp < DateTime.Now.AddMinutes(-60)).ToList()) { SessionDict.Remove(item.Key); } SessionDict[sessionCode] = new TimedSession(loginId, userGuid, legacyAvatarUrl); }
public static bool TryGetUserIdFromSessionCode(string sessionCode, out string userId) { userId = null; TimedSession vcode = null; if (sessionCode != null && SessionDict.TryGetValue(sessionCode, out vcode)) { if (vcode.TimeStamp > DateTime.Now.AddMinutes(-60)) { userId = vcode.Code; //refresh timestamp: vcode.TimeStamp = DateTime.Now; SessionDict[sessionCode] = vcode; return(true); } } return(false); }