public async Task Invoke(HttpContext context) { bool IsAvailable = context.Session.IsAvailable; // await context.Response.WriteAsync("==========================IsAvailable===========" + IsAvailable); string sessionid = context.Session.Id; Help help = new Help(_httpcontext); if (help.GetCookies(key).Length == 0) { help.SetCookies(key, help.GenerateSid()); if (_client.Get(key) == null) { OnlineUser online = new OnlineUser { OnlineTime = DateTime.Now, NickName = "游客" }; _client.Set(key, JsonConvert.SerializeObject(online), TimeSpan.FromMinutes(1)); } else { OnlineUser online = JsonConvert.DeserializeObject <OnlineUser>(_client.Get(key)); if (online != null) { DateTime now = DateTime.Now; //9:05 DateTime time = online.OnlineTime; //8:59 _client.Set(key, JsonConvert.SerializeObject(now), TimeSpan.FromMinutes(1)); } } } ; string sid = help.GetCookies(key); if (await _onlineUsers.GetOnlineusersBySid(sid)) { await _onlineUsers.AddOnlineUser(new bma_onlineusers { sid = sid, nickname = "游客", ip = context.Connection.LocalIpAddress.ToString() }); } await Task.Run(() => { }); await _next(context); }