2014-08-28 15 views
5

Con un progetto MVC 5 su cui stiamo lavorando, continuo a ricevere una ThreadAbortException ogni volta che l'applicazione si avvia (mentre il debugger è collegato). Ho pensato che fosse correlato all'applicazione, quindi ho creato un progetto vuoto con un singolo controller e una vista vuota.Perché ricevo una ThreadAbortException all'avvio del sito Web di asp.net

HomeController.cs:

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

L'eccezione si apre ancora in piedi non appena il webapp si avvia e il debugger è collegato. Come puoi vedere, non c'è Response.Redirect che potrebbe causarlo. E non c'è alcun codice aggiuntivo nel Global.asax che potrebbe creare un thread aggiuntivo.

Global.asax.cs

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

L'eccezione si verifica quando faccio una ricostruzione, avviare l'applicazione con il debugger ed esattamente non appena l'applicazione è avviato. Non v'è alcun stacktrace e non termina l'applicazione, basta:

Un'eccezione di tipo 'System.Threading.ThreadAbortException' avvenuto in mscorlib.dll e non è stata gestita prima di un gestito di confine/native

Utilizzo Visual Studio 2013 (aggiornamento 2) e l'app è in esecuzione in IIS Express. Il progetto è rivolto a .NET 4.5 e ha viste Razor.

C'è altro che posso provare?

+0

Sembra un problema di configurazione. Molto probabilmente una configurazione globale. Deselezionare "Opzioni/Debug/Generale/Abilita solo il mio codice", selezionare tutte le caselle in "Debug/Eccezioni" e selezionare "Codice nativo" in "Proprietà progetto/Web/Debugger". Questo * può * aiutarti a capire il problema. – edokan

risposta

8

Risulta tutto quello che dovevo fare era disabilitare questa impostazione:

Visual Studio Debugging setting

Per chi fosse interessato, è in Strumenti -> Opzioni -> Debug -> Generale -> parte superiore della pagina.

Ovviamente ciò non impedisce che si verifichi l'eccezione. Quindi mi piacerebbe ancora sapere perché una ThreadAbortException viene lanciata attraverso un limite gestito.

Problemi correlati