我有一个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");
}
调用堆栈位置
我正在使用Visual Studio 2012
答案 0 :(得分:0)
我认为这个问题出在visual studio 2012上。
安装 Visual Studio 2012 Update 5 后,问题已解决。