Quando uso o Response.Redirect (...) para redirecionar meu formulário para uma nova página, recebo o erro:
Ocorreu uma primeira exceção do tipo 'System.Threading.ThreadAbortException' no mscorlib.dll.
Uma exceção do tipo 'System.Threading.ThreadAbortException' ocorreu no mscorlib.dll, mas não foi tratada no código do usuário.
Meu entendimento disso é que o erro está sendo causado pelo servidor da web anulando o restante da página em que o response.redirect foi chamado.
Eu sei que posso adicionar um segundo parâmetro ao Response.Redirect
chamado endResponse. Se eu definir endResponse como True, ainda recebo o erro, mas se o definir como False, não o faço. Tenho certeza, porém, de que isso significa que o servidor da web está executando o restante da página da qual eu redirecionei. O que parece ser ineficiente para dizer o mínimo. Existe uma maneira melhor de fazer isso? Algo diferente Response.Redirect
ou existe uma maneira de forçar a página antiga a parar de carregar onde eu não receberei um ThreadAbortException
?
Context.ApplicationInstance.CompleteRequest();
. Por quê? Vou precisarreturn
do manipulador de eventos condicionalmente?