/// <summary> /// 将本次KeepAlive的请求登记到处理队列中 /// </summary> /// <param name="clmngr"></param> /// <param name="request"></param> /// <returns></returns> private HttpContext RegistKeepAliveRequestContext(ClientManager clmngr, HttpRequest request) { HttpContext context = null; if (clmngr == null || !clmngr.IsAuthedUser || !this._Clients.ContainsKey(clmngr.nSessionID) || request == null || request.IsRequestError) { return(context); } clmngr.IsKeepAlive = true; //Context Table使用User ID作为Key int uid = clmngr.nUID; lock (_ContextTable.SyncRoot) { if (_ContextTable.ContainsKey(uid)) { context = _ContextTable[uid] as HttpContext; //将请求添加到队列 context.AppendRequest(request); } else { context = new HttpContext(this, clmngr, request); //将请求添加到队列 _ContextTable[uid] = context; } } return(context); }