对于我们正在进行的MVC 5项目,每次应用程序启动时(连接调试器时)我都会继续获取ThreadAbortException。 我假设它与应用程序有关,所以我创建了一个带有单个控制器和空视图的空项目。
HomeController.cs:
public class HomeController : Controller
{
// GET: Home
public ActionResult Index()
{
return View();
}
}
只要webapp启动并附加调试器,异常仍会弹出。 如您所见,没有可能导致它的Response.Redirect。并且Global.asax中没有其他代码可能会激活额外的线程。
的Global.asax.cs
public class MvcApplication : System.Web.HttpApplication
{
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
RouteConfig.RegisterRoutes(RouteTable.Routes);
}
}
当我进行重建时,会在应用程序启动后立即启动连接调试器的应用程序时发生异常。没有堆栈跟踪,它不会终止应用程序,只是:
类型' System.Threading.ThreadAbortException'的例外情况发生了 在mscorlib.dll中并且在托管/本地边界之前没有处理
我正在使用Visual Studio 2013(Update 2),该应用程序正在IIS Express中运行。该项目针对.NET 4.5并具有Razor视图。
还有什么我可以尝试的吗?
答案 0 :(得分:10)
原则上我要做的就是禁用此设置:
对于那些感兴趣的人,它在工具 - >下。选项 - >调试 - >一般 - >页面顶部。
当然,这并不能防止异常发生。所以我仍然想知道为什么ThreadAbortException正在被管理的边界上被抛出。