Подтвердить что ты не робот

Первое исключение исключения типа "System.Threading.ThreadAbortException" произошло в mscorlib.dll

Я работаю над приложением asp.net.. когда я пытаюсь скомпилировать и запустить приложение; он работает успешно.

Но когда я пытаюсь отлаживать приложение, он дает мне ошибку в любой момент -

В mscorlib.dll произошел первый случай исключения типа "System.Threading.ThreadAbortException"

Он не дает ошибок в какой-либо конкретной строке кода.. он дает эту ошибку в любом коде строки (не уверен).., а затем отображается веб-страница - ошибка "Сервер недоступен".

Даже когда я пытаюсь разобрать/выполнить какой-либо оператор в непосредственном окне/быстрый просмотр - это дает мне ошибку выше.

Например, я загрузил XML-документ (более 10000 строк) в XElement и когда я пытаюсь проверить значение некоторого атрибута через xpath как XElementObj.XPathSelectElement( "/asdf/asd/wqer/xyz" ).. it дает выше ошибку.. (не все время, но случайным образом).

любой, кто имеет представление об этом, пожалуйста, помогите.

4b9b3361

Ответ 1

У меня было что-то подобное, и нашел этот ответ из другого вопроса:

Если вы хотите определить, где исключения происходят, вы можете выберите меню "Отладка- > Исключения" и в появившемся диалоговом окне, установите первый флажок для "Common Исключения языка Runtime". сделает отладчик как можно скорее как исключение, а не только нарушение необработанных исключений.

Это также одна из причин, почему вообще плохая идея поймать общий за исключением случаев, когда вы явно протоколирование обнаруженной информации.

Ответ 2

У меня было это исключение, заброшенное в моем приложении asp.net, и нашел этот пост форума:

PRB: ThreadAbortException возникает, если вы используете Response.End, Response.Redirect или Server.Transfer http://support.microsoft.com/default.aspx?scid=kb;en-us;312629

Это имеет смысл, поскольку я перенаправлял на страницу прямо перед тем, как что-либо было отображено (ожидаемое поведение кстати)

Временное решение для MS для исключения любых исключений:

Чтобы обойти эту проблему, используйте один из следующих способов:

  • Для Response.End вызовите метод HttpContext.Current.ApplicationInstance.CompleteRequest вместо Response.End, чтобы обойти выполнение кода в событие Application_EndRequest.

  • Для Response.Redirect используйте перегрузку Response.Redirect(String url, bool endResponse), которая передает значение false для параметра endResponse для подавления внутреннего вызова Response.End. Например: Response.Redirect ("nextpage.aspx", false);

  • Для Server.Transfer вместо этого используйте метод Server.Execute.

Если вы используете это обходное решение, выполняется код, следующий за Response.Redirect. Для Server.Transfer вместо этого используйте метод Server.Execute.