对于我们正在进行的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); } }
当我进行重建时,会在应用程序启动后立即启动带有调试程序的应用程序并发生异常.没有堆栈跟踪,它不会终止应用程序,只是:
An exception of type ‘System.Threading.ThreadAbortException’ occurred
in mscorlib.dll and wasn’t handled before a managed/native boundary
我正在使用Visual Studio 2013(更新2),该应用程序在IIS Express中运行.该项目针对.NET 4.5并具有Razor视图.
还有什么我可以尝试的吗?
解决方法
事实证明我所要做的就是禁用此设置:
对于那些感兴趣的人,它位于工具 – >选项 – >调试 – >一般 – >页面顶部.
当然,这并不能阻止异常发生.所以我仍然想知道为什么ThreadAbortException被一个托管边界抛出.