调用堆栈仅包含由 System.Web.dll 中的 'System.ExecutionEngineException' 引起的外部代码

Call stack contains only external code caused by 'System.ExecutionEngineException' in System.Web.dll

我遇到了之前未曾见过的错误,在线解决方案似乎针对个别情况。似乎这个问题可能由于多种原因而发生。但是,我无法确定我的原因。在此处附上一些屏幕截图以显示我的特定问题。

我在 运行 一个 MVC 项目中使用 VS2013。我所做的只是登录并重定向到主页。这是登录操作方法的代码:

IAuthenticationManager AuthenticationManager = HttpContext.GetOwinContext().Authentication

//craete identity
ClaimsIdentity claimsIdentity = new ClaimsIdentity(DefaultAuthenticationTypes.ApplicationCookie.ToString());
claimsIdentity.AddClaim(new Claim(ClaimTypes.Name, vm.Email));

//sign in with Identity created
AuthenticationManager.SignIn(new AuthenticationProperties() { IsPersistent = true }, claimsIdentity );

return RedirectToAction("Index", "Home");

问题出在重定向到主页之后。当重定向到上面这样时,主页不会加载。但是,当直接调用时,主页加载没有任何问题。

执行重定向行后,我立即收到以下错误

在上面屏幕的复选框中单击禁用我的代码时,我得到了这个

之后我需要再次调试应用程序。在之前选择 [禁用我的代码] 后再次在 运行 应用程序上,我收到以下错误。

单击“确定”或“继续”时出现此错误

这最终只是关闭了请求,我得到了一个未找到的页面。 我是 运行 使用 IIS 的 Web 应用程序。这是由于调试失败而突然停止工作的工作代码。

原来这个问题是在前面的代码中引起的。我正在设置会话一个对象,该对象具有一些在分配时损坏的属性。

这是我在快速查看 window 中检查时的错误文本:State = Evaluation of method COSMApps.POCO.PersonDetails.get_State requires information which is not present in the minidump you are debugging. If you are debugging a minidump without heap, you may be able to fix this problem by collecting a new minidump

我需要找出为什么我的 poco 中的这个 属性 在为其赋值时失败。但是在将 属性 取出后,重定向就起作用了。

以防万一这对其他人有帮助,如果您看到类似我上面描述的错误,它几乎肯定会出现在代码的其他地方,而不是错误爆发的地方。这也是我在其他帖子中看到的评论,来自遇到类似问题的人。