未处理的类型' System.StackOverflowException'发生在App_Web_1wvcoe1q.dll中

时间:2016-11-29 03:21:04

标签: asp.net-mvc visual-studio-2012 stack-overflow

我有一个ASP.Net MVC应用程序。最近它运行正常,现在当我运行它并输入登录凭据时,它会挂起很久并说

  

未处理的类型' System.StackOverflowException'   发生在App_Web_1wvcoe1q.dll

我通过清除所有ASP.Net临时文件和Visual Studio临时文件来尝试了很多。

但仍有同样的问题。我猜我的代码在登录页面没有任何问题。这突然发生了。

这是登录方法

 [HttpPost]

        public ActionResult LogIn(string loginId, string password, string plantCode, string returnUrl)
        {
            bool valid = false;

            if (loginId.IsEmpty())
            {
                ViewBag.ErrorMessage = "Login id cannot be empty";
            }
            else if (password.IsEmpty())
            {
                ViewBag.ErrorMessage = "Password cannot be empty";
            }
            else if (plantCode.IsEmpty())
            {
                ViewBag.ErrorMessage = "Plant code cannot be empty";
            }
            else
            {
                //Domain
                using (var context = new PrincipalContext(ContextType.Domain))
                {
                    valid = context.ValidateCredentials(loginId, password);
                }
                //Domain

                //Cloud
                //valid = true;
                //Cloud

                var user = ValidateUserPlant(loginId, plantCode);
                if (valid && user != null)
                {
                    FormsAuthentication.SetAuthCookie(loginId, true);
                    Session[ConstantVariables.SessionVariables.Password] = password;
                    Session[ConstantVariables.SessionVariables.LoginId] = loginId;
                    Session[ConstantVariables.SessionVariables.PlantId] = user.PlantId;
                    Session[ConstantVariables.SessionVariables.UserId] = user.Id;
                    Session[ConstantVariables.SessionVariables.Email] = user.Email;
                    Session[ConstantVariables.SessionVariables.UserName] = user.Name;
                    Session[ConstantVariables.SessionVariables.UserData] = user;
                    Session[ConstantVariables.SessionVariables.UserName] = user.Name;
                    Session[ConstantVariables.SessionVariables.DepartmentId] = user.DepartmentId;
                    Session[ConstantVariables.SessionVariables.ProductionSectionId] = user.ProductionSectionId;
                    return Redirect(Url.RouteUrl(new { controller = "Home" }) + returnUrl);
                }
                else
                {
                    ViewBag.ErrorMessage = "Invalid User Name or Password";
                }
            }

            return View("Index");
        }

调用堆栈位置

enter image description here

我正在使用Visual Studio 2012

1 个答案:

答案 0 :(得分:0)

我认为这个问题出在visual studio 2012上。

安装 Visual Studio 2012 Update 5 后,问题已解决。