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

时间:2014-08-28 07:54:11

标签: c# asp.net-mvc-5

对于我们正在进行的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视图。

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

1 个答案:

答案 0 :(得分:10)

原则上我要做的就是禁用此设置:

Visual Studio Debugging setting

对于那些感兴趣的人,它在工具 - >下。选项 - >调试 - >一般 - >页面顶部。

当然,这并不能防止异常发生。所以我仍然想知道为什么ThreadAbortException正在被管理的边界上被抛出。