2015-08-06 2 views
2

После обновления моего компьютера разработки до Windows 10 мое приложение ASP.NET начало выдавать исключение ThreadAbort в любое время, когда вызывается Response.End или Response.Redirect.Windows 10 ThreadAbortException on Response.End и Response.Redirect

Я понимаю из исследования, что это ожидается и что вы можете вызывать другие функции вместо этого, что не приведет к возникновению ошибки. Однако мне никогда не приходилось обрабатывать эту ошибку перед обновлением до Windows 10. Раньше я запускал Windows 8.1 с .NET 4.52, а Windows 10 теперь .NET 4.6, поэтому я думаю, что это имеет какое-то отношение к ней. Поэтому вопрос в том, почему он только что начал бросать исключение и есть способ заставить его остановиться, не преобразовывая мой код.

Thread was being aborted. 

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

Exception Details: System.Threading.ThreadAbortException: Thread was being aborted. 

Source Error: 

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below. 

Stack Trace: 


[ThreadAbortException: Thread was being aborted.] 
    System.Runtime.InteropServices.GCHandle.InternalFree(IntPtr handle) +0 
    System.Runtime.InteropServices.GCHandle.Free() +77 
    System.Web.Util.GCUtil.UnrootObject(IntPtr pointer) +65 
    System.Web.ApplicationStepManager.ResumeSteps(Exception error) +687 
    System.Web.HttpApplication.System.Web.IHttpAsyncHandler.BeginProcessRequest(HttpContext context, AsyncCallback cb, Object extraData) +247 
    System.Web.HttpRuntime.ProcessRequestInternal(HttpWorkerRequest wr) +647 

Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.6.79.0 

ответ

1

Microsoft признала эту ошибку в .NET Framework 4.6: https://connect.microsoft.com/VisualStudio/feedback/details/1605438/disabling-ryujit-breaks-asp-net Некоторые вещи, которые вы можете попробовать:

  • Удалить значение UseLegacyJIT из реестра обновление
  • Удаление Windows 3083186
+0

Они выпустили исправления для всех платформ, кроме Windows 10. Я смог обойти проблему, добавив регистрацию y значение HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ .NETFramework добавляет useLegacyJit DWORD со значением 1. –

Смежные вопросы