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

前端之家收集整理的这篇文章主要介绍了c# – 为什么我在asp.net网站启动时收到ThreadAbortException前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
对于我们正在进行的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被一个托管边界抛出.

猜你在找的C#相关文章