PRB: Исключение ThreadAbortException возникает при использовании Response.End, Response.Redirect или Server.Transfer

Переводы статьи Переводы статьи
Код статьи: 312629 - Vizualiza?i produsele pentru care se aplic? acest articol.
Развернуть все | Свернуть все

Проблема

При использовании методов Server.Transfer , Response.Redirectили Response.End, возникает исключение ThreadAbortException . Оператор try-catch можно использовать, чтобы перехватить это исключение.

Причина

Метод Response.End завершает выполнение страницы и сдвигает выполнения событие Application_EndRequest в конвейере событий приложения. Строки кода, который следует за Response.End , не выполняется.

Данная проблема возникает в методах Response.Redirect и Server.Transfer оба метода внутреннего вызова Response.End .

Решение

Для временного решения проблемы используйте один из следующих методов:
  • Для Response.End, вызов HttpContext.Current.ApplicationInstance.CompleteRequest вместо метода Response.End выполнение кода в обход Application_EndRequest событие.
  • Для Response.Redirect, используйте перегрузку, Response.Redirect (url строки, bool endResponse) который проходит ЛОЖЬ для endResponse параметр для подавления внутренний вызов Response.End. Например:
      Response.Redirect ("nextpage.aspx", false);
    						
    При использовании этого метода обхода на код, который соответствует Response.Redirect выполняется.
  • Для Server.Transfer, с помощью Server.Execute метод вместо.

Статус

Данное поведение является нормальным.

Свойства

Код статьи: 312629 - Последний отзыв: 7 июня 2013 г. - Revision: 5.0
Информация в данной статье относится к следующим продуктам.
  • Microsoft ASP.NET 4.5
  • Microsoft ASP.NET 4.0
  • Microsoft ASP.NET 3.5
  • Microsoft ASP.NET 2.0
  • Microsoft ASP.NET 1.1
  • Microsoft ASP.NET 1.0
Ключевые слова: 
kbexcepthandling kbprb kbmt KB312629 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Данная статья переведена с использованием программного обеспечения Майкрософт для машинного перевода и, возможно, отредактирована посредством технологии Community Translation Framework (CTF). Корпорация Майкрософт предлагает вам статьи, обработанные средствами машинного перевода, отредактированные членами сообщества Майкрософт и переведенные профессиональными переводчиками, чтобы вы могли ознакомиться со всеми статьями нашей базы знаний на нескольких языках. Статьи, переведенные с использованием средств машинного перевода и отредактированные сообществом, могут содержать смысловое, синтаксические и (или) грамматические ошибки. Корпорация Майкрософт не несет ответственности за любые неточности, ошибки или ущерб, вызванные неправильным переводом контента или его использованием нашими клиентами. Подробнее об CTF можно узнать по адресу http://support.microsoft.com/gp/machine-translation-corrections/ru.
Эта статья на английском языке: 312629

Отправить отзыв

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com