Artigo: 312629 - Última revisão: sexta-feira, 1 de Agosto de 2003 - Revisão: 2.6

PROBLEMA: ThreadAbortException ocorre se utilizar Response.End, Response.Redirect ou Server.Transfer

Dica do SistemaEste artigo aplica-se a um sistema operativo diferente do que está a utilizar. Foi desactivado o conteúdo do artigo, que pode não ser relevante para si.
Expandir tudo | Reduzir tudo

Sintomas

Se utilizar a Response.End , Response.Redirect ou método Server.Transfer , ocorre uma excepção ThreadAbortException . Pode utilizar uma instrução try-catch para interceptar esta excepção.

Causa

O método Response.End termina a execução de página e muda a execução para o evento Application_EndRequest tubagem de eventos da aplicação. A linha de código que se segue Response.End não é executada.

Este problema ocorre em métodos Response.Redirect e Server.Transfer porque ambos os métodos chamar Response.End internamente.

Resolução

Para contornar este problema, utilize um dos seguintes métodos:
  • Para Response.End , chame o método HttpContext.Current.ApplicationInstance.CompleteRequest em vez de Response.End para ignorar a execução de código ao evento Application_EndRequest .
  • Response.Redirect , utilize uma sobrecarga, Response.Redirect (cadeia de url, bool endResponse) passa Falso para o parâmetro endResponse suprimir a chamada a Response.End interna. Por exemplo:
      Response.Redirect ("nextpage.aspx", false);
    						
    se utilizar esta solução alternativa, o código que se segue Response.Redirect é executado.
  • Para Server.Transfer , utilize o método Server.Execute .

Ponto Da Situação

Este comportamento ocorre por predefinição.

A informação contida neste artigo aplica-se a:
  • Microsoft ASP.NET 1.1
  • Microsoft ASP.NET 1.0
Palavras-chave: 
kbmt kbexcepthandling kbprb KB312629 KbMtpt
Tradução automáticaTradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 312629  (http://support.microsoft.com/kb/312629/en-us/ )