2014-08-28 26 views
5

在我們正在開發的MVC 5項目中,每次應用程序啓動時(連接調試器時),我都會繼續收到ThreadAbortException。 我認爲它與應用程序有關,所以我創建了一個帶有單個控制器和空視圖的空項目。爲什麼我在asp.net網站啓動時收到ThreadAbortException

HomeController.cs:

public class HomeController : Controller 
{ 
    // GET: Home 
    public ActionResult Index() 
    { 
     return View(); 
    } 
} 

爲web應用程序啓動和調試器附加異常仍就彈起。如你所見,沒有可能導致它的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(更新2)並且該應用程序正在IIS Express中運行。該項目針對.NET 4.5,並具有Razor視圖。

還有什麼我可以嘗試嗎?

+0

看起來像一個配置問題。最有可能的是全局配置。我將取消選中「選項/調試/常規/啓用只是我的代碼」,勾選「調試/例外」中的所有複選框並選中「項目屬性/ Web /調試器」下的「本機代碼」。這*可能會幫助你理解問題。 – edokan 2014-08-28 10:51:38

回答

8

打開了所有我所要做的就是禁用此設置:

Visual Studio Debugging setting

對於那些有興趣,這是在工具 - >選項 - >調試 - >常規 - >頁面頂部。

當然,這並不能防止異常發生。所以我仍然想知道爲什麼一個ThreadAbortException拋出被管理的邊界。

相關問題