Beispiel #1
0
        public ActionResult Login(string uid, string pwd)
        {
            //登陆信息
            var info = new LoginBLL().LoginIn(uid, pwd);

            //登陆前的游客游戏
            var ykdata = CacheExts <GameInfo> .GetValue(LoginInfoModel.ykCookie);

            if (ykdata == null)
            {
                ykdata = new GameInfo();
                new GameInfoBLL().RefNum(ref ykdata);
            }


            if (info != null)
            {
                var data = CacheExts <GameInfo> .GetValue(info.UserID);

                if (data == null || data.Score < ykdata.Score)
                {
                    //如果此用户不存在游戏记录,或用户的游戏分数低于游客状态下的得分,则用游客的游戏状态覆盖用户的游戏状态
                    CacheExts <GameInfo> .SetValue(info.UserID, ykdata, noSlidingExpiration : false);
                }
                return(Json(new { Code = 2000, Msg = "登陆成功" }, JsonRequestBehavior.AllowGet));
            }
            else
            {
                return(Json(new { Code = 2001, Msg = "登陆失败" }, JsonRequestBehavior.AllowGet));
            }
        }
Beispiel #2
0
        /// <summary>
        /// 保存游戏数据
        /// </summary>
        /// <param name="game"></param>
        public void SetGameData(string key, GameInfo game)
        {
            //IIS缓存
            CacheExts <GameInfo> .SetValue(key, game, noSlidingExpiration : false);

            //客户端持久化存储
            var json      = JsonConvert.SerializeObject(game);
            var cookieStr = EncryptAndDecrypt.Encrypt(json);

            CookiesHelper.AddCookie(key, cookieStr);
            CookiesHelper.SetCookie(key, DateTime.Now.AddMonths(1));
        }