/// <summary>
 /// 删除一个USERSESSION对象
 /// </summary>
 /// <param name="sessionID"></param>
 public static void Remove(string sessionID)
 {
     if (UserSessionList.ContainsKey(sessionID))
     {
         UserSessionList.Remove(sessionID);
     }
 }
        public async Task <Response <UserSessionList> > ListByHostPoolAsync(string subscriptionId, string resourceGroupName, string hostPoolName, string filter = null, CancellationToken cancellationToken = default)
        {
            if (subscriptionId == null)
            {
                throw new ArgumentNullException(nameof(subscriptionId));
            }
            if (resourceGroupName == null)
            {
                throw new ArgumentNullException(nameof(resourceGroupName));
            }
            if (hostPoolName == null)
            {
                throw new ArgumentNullException(nameof(hostPoolName));
            }

            using var message = CreateListByHostPoolRequest(subscriptionId, resourceGroupName, hostPoolName, filter);
            await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false);

            switch (message.Response.Status)
            {
            case 200:
            {
                UserSessionList value = default;
                using var document = await JsonDocument.ParseAsync(message.Response.ContentStream, default, cancellationToken).ConfigureAwait(false);

                value = UserSessionList.DeserializeUserSessionList(document.RootElement);
                return(Response.FromValue(value, message.Response));
            }
 /// <summary>
 /// 添加一个USERSESSION对象
 /// </summary>
 /// <param name="userSession"></param>
 public static void Add(UserSessionModel userSession)
 {
     if (UserSessionList.ContainsKey(userSession.SessionId))
     {
         throw new Exception("已经存在的SESSIONID");
     }
     UserSessionList.Add(userSession.SessionId, userSession);
 }
        /// <summary>
        /// 检查列表(清除无效记录)
        /// </summary>
        internal static void Check(object o)
        {
            lock (UserSessionList)
            {
recheck:
                foreach (string key in UserSessionList.Keys)
                {
                    UserSessionModel userSession = (UserSessionModel)UserSessionList[key];
                    if (userSession.LastLifeTime + maxLifeTime * 10000 * 1000 <= DateTime.Now.Ticks)
                    {
                        UserSessionList.Remove(key);

                        goto recheck;
                    }


                    if (userSession.LastActiveTime + maxActiveTime * 10000 * 1000 <= DateTime.Now.Ticks)
                    {
                        UserSessionList.Remove(key);
                        goto recheck;
                    }
                }
            }
        }
        /// <summary>
        /// 判断是否存在
        /// </summary>
        /// <param name="userID"></param>
        /// <returns></returns>
        public static bool ExistsBySessionID(string sessionID)
        {
            //UserSessionManager.Check(null);

            return(UserSessionList.ContainsKey(sessionID));
        }