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

Preklady článku Preklady článku
ID článku: 312629 - Zobraziť produkty, ktorých sa tento článok týka.
Rozbaliť všetko | Zbaliť všetko

Priznaky

Ak používate, Response.End, Response.Redirectalebo Server.Transfer metódou, nastane výnimka ThreadAbortException . Môžete skúsiť úlovku vyhlásenie chytiť táto výnimka.

Pricina

Metóda Response.End končí stránke výkonu a posuny výkon na Application_EndRequest podujatie v potrubí udalostí aplikácie. Riadok kódu, ktorý nasleduje Response.End nebude vykonaná.

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

Riesenie

Obísť tento problém, použite jednu z nasledujúcich metód:
  • Pre Response.end, zavolať HttpContext.Current.ApplicationInstance.CompleteRequest metóda namiesto Response.end obísť spustenie kódu na Application_EndRequest udalosť.
  • Pre Response.redirect, použite preťaženia, Response.redirect (reťazec url, bool endResponse) ktoré prechádza FALSE pre endResponse Parameter na potlačenie vnútorného volanie Response.end. Napríklad:
      Response.Redirect ("nextpage.aspx", false);
    						
    Ak používate toto riešenie, kód ktorá nasleduje Response.redirect je popravený.
  • Pre Server.transfer, použite Server.Execute metóda miesto.

Stav

Toto správanie je zámerné.

Vlastnosti

ID článku: 312629 - Posledná kontrola: 30. augusta 2012 - Revízia: 2.0
Informácie v tomto článku sa týkajú nasledujúcich produktov:
  • 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
Kľúčové slová: 
kbexcepthandling kbprb kbmt KB312629 KbMtsk
Strojovo preložené
DÔLEŽITÉ: Tento článok bol preložený pomocou softvéru na strojový preklad od spoločnosti Microsoft, nie prekladateľom. Spoločnosť Microsoft ponúka články preložené prekladateľmi aj strojovo preložené články, vďaka čomu máte možnosť prístupu ku všetkým článkom databázy Knowledge Base vo svojom jazyku. Strojovo preložený článok však nie je vždy perfektný. Môže obsahovať chyby týkajúce sa slovnej zásoby, syntaxe alebo gramatiky, podobne ako cudzinec môže robiť chyby, keď rozpráva vašim jazykom. Spoločnosť Microsoft nenesie zodpovednosť za akékoľvek nepresnosti, chyby alebo škody spôsobené akýmkoľvek nepresným prekladom obsahu alebo jeho použitím zo strany zákazníkov. Spoločnosť Microsoft softvér na strojový preklad pravidelne aktualizuje.
Pokiaľ chcete vidieť anglickú verziu článku, kliknite sem: 312629

Odošlite odozvu

 

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