看代碼:
1 public ActionResult UserLogin(LogOnModel model) 2 { 3 #region 驗證碼驗證 4 5 #endregion 6 7 OperationResult result= _identity.ValidateUser(model.UserName, EncryptAndDecrypte.EncryptString(model.Password)); 8 9 10 if (result.ResultType==OperationResultType.Success) 11 { //登陸成功 12 SysUser user = (SysUser) result.Data; 13 //Account account = new Account 14 //{ 15 // PersonName = user.UserName, 16 // Name = user.NickName, 17 // Id = user.Id 18 //}; 19 _sysAuthenticationService.SignIn(user,false); 20 // Utils.WriteCookie("account",account,7); 21 22 result.Data = null; 23 } 24 25 return Json(result); 26 }
我就是ajax調用的這個類方法,從方法中看不出任何問題,我們看26行的,他是將一個對象序列化JavaScript的表示,在我的理解中,它應該會將result對象序列化為json對象的表示形式,
這樣在系統內部轉換的時候就出現問題了,出現了循環引用的報錯。所有我將result.Data 設置為空,解決問題。
所以最終的原因是出來SysUser這個類上,先Mark下。有時間在解決了、
