protected AccountViewModel GetLoginUser() { if (LoginUser == null) { var jwtStr = Request.Headers["Authorization"].ToString(); jwtStr = jwtStr.Substring(7); var loginModel = JwtHelper.SerializeJwt(jwtStr); // 1. 先从缓存中获取数据 var accountViewModelStr = _distributeCache.Get("AppAccount" + loginModel.Uid); if (accountViewModelStr != null) { LoginUser = SerializeHelper.ByteArrayToObject <AccountViewModel>(accountViewModelStr); } //string account = HttpContext.Session.GetString("Account"); //byte[] accountBytes = HttpContext.Session.Get("Account"); // 2. 缓存失效时,从数据库查询数据 //if (accountBytes == null || accountBytes.Length == 0) //if (string.IsNullOrEmpty(account)) if (LoginUser == null) { var user = _context.Account.FirstOrDefault(_ => _.Id.ToString() == loginModel.Uid); LoginUser = _mapper.Map <AccountViewModel>(user); } else { var user = _context.Account.FirstOrDefault(_ => _.Id.ToString() == loginModel.Uid); LoginUser = _mapper.Map <AccountViewModel>(user); } //else //{ //LoginUser = JsonHelper.ParseFormByJson<AccountViewModel>(account); //LoginUser = SerializeHelper.ByteArrayToObject<AccountViewModel>(accountBytes); //} } return(LoginUser); }
public static void ReceivedData(object peer) { NetIncomingMessage im; while ((im = netclient.ReadMessage()) != null) { switch (im.MessageType) { case NetIncomingMessageType.DebugMessage: case NetIncomingMessageType.ErrorMessage: case NetIncomingMessageType.WarningMessage: case NetIncomingMessageType.VerboseDebugMessage: case NetIncomingMessageType.StatusChanged: break; case NetIncomingMessageType.Data: int gamedatalength = im.ReadInt32(); byte[] gamedata = im.ReadBytes(gamedatalength); game = (Game)SerializeHelper.ByteArrayToObject(gamedata); game.LocalPlayerGuid = Program.guid; if (game.getPlayerLength(game.LocalPlayerGuid) > 0) { length = game.getPlayerLength(game.LocalPlayerGuid); } checkForCollision(); break; default: // Output("Unhandled type: " + im.MessageType + " " + im.LengthBytes + " bytes"); break; } netclient.Recycle(im); } }