为什么我在asp.net网站启动时收到ThreadAbortException

Vin*_*ent 6 c# asp.net-mvc-5

对于我们正在进行的MVC 5项目,每次应用程序启动时(在附加调试器时)我都会继续获取ThreadAbortException.我假设它与应用程序有关,所以我创建了一个带有单个控制器和空视图的空项目.

HomeController.cs:

public class HomeController : Controller
{
    // GET: Home
    public ActionResult Index()
    {
        return View();
    }
}
Run Code Online (Sandbox Code Playgroud)

一旦webapp启动并附加调试器,该异常仍会弹出.如您所见,没有可能导致它的Response.Redirect.并且Global.asax中没有其他代码可能会激活额外的线程.

的Global.asax.cs

public class MvcApplication : System.Web.HttpApplication
{
    protected void Application_Start()
    {
        AreaRegistration.RegisterAllAreas();
        RouteConfig.RegisterRoutes(RouteTable.Routes);
    }
}
Run Code Online (Sandbox Code Playgroud)

当我进行重建时,会在应用程序启动后立即启动带有调试程序的应用程序并发生异常.没有堆栈跟踪,它不会终止应用程序,只是:

mscorlib.dll中出现"System.Threading.ThreadAbortException"类型的异常,并且在托管/本地边界之前未处理

我正在使用Visual Studio 2013(更新2),该应用程序在IIS Express中运行.该项目针对.NET 4.5并具有Razor视图.

还有什么我可以尝试的吗?

Vin*_*ent 10

事实证明我所要做的就是禁用此设置:

Visual Studio调试设置

对于那些感兴趣的人,它位于工具 - >选项 - >调试 - >常规 - >页面顶部.

当然,这并不能阻止异常发生.所以我仍然想知道为什么ThreadAbortException被一个托管边界抛出.