PRB: ThreadAbortException vyskytne, ak použijete Response.End, Response.Redirect alebo Server.Transfer

Príznaky

Ak použijete Response.End, Response.Redirectalebo
Server.Transfer metóda ThreadAbortException výnimkou vyskytuje. Môžete skúsiť úlovok vyhlásenie zachytiť výnimka.

Príčina

Metóda Response.End končí stránke výkonu a posunie výkon Application_EndRequest udalosti do reťazca udalostí aplikácie. Riadok kódu, ktorý nasleduje Response.End sa nevykoná.

Tento problém sa vyskytuje v Response.Redirect a Server.Transfer metódy, pretože obe metódy Response.End interne.

Riešenie

Ak chcete vyriešiť tento problém, použite jeden z nasledujúcich postupov:

  • Response.End, zavolajte HttpContext.Current.ApplicationInstance.CompleteRequest metóda namiesto Response.End obísť kódu Application_EndRequest udalosti.

  • Response.Redirectpomocou preťaženia Response.Redirect (url reťazec, bool endResponse) , prechádza nesprávne endResponse parameter potlačenie vnútorné volanie Response.End. Napríklad:

      Response.Redirect ("nextpage.aspx", false);

    Ak použijete tento postup, kód, ktorý nasleduje Response.Redirect vykonáva.

  • Pre Server.Transfer, použite metódu Server.Execute .

Stav

Toto správanie je zámerné.

Potrebujete ďalšiu pomoc?

Rozšírte svoje zručnosti
Preskúmať školenie
Buďte medzi prvými, ktorí získajú nové funkcie
Pripojiť k Microsoft insiderov chcú

Považujete poskytnuté informácie za užitočné?

Ďakujem za vaše pripomienky!

Ďakujeme vám za pripomienky. Pravdepodobne vám pomôže, ak vás spojíme s pracovníkom podpory pre Office.

×