HttpResponse.End Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Odešle všechny aktuálně vyrovnávací výstupy klientovi, zastaví provádění stránky a vyvolá EndRequest událost.
public:
void End();
public void End ();
member this.End : unit -> unit
Public Sub End ()
Výjimky
Volání ukončilo End() aktuální požadavek.
Poznámky
Tato metoda je poskytována pouze pro kompatibilitu s asp – to znamená kvůli kompatibilitě s technologií webového programování založené na modelu COM, která předchází ASP.NET. Pokud chcete přejít k EndRequest události a odeslat klientovi odpověď, je obvykle vhodnější místo toho volat CompleteRequest .
Chcete-li napodobit chování End
metody v ASP, tato metoda se pokusí vyvolat ThreadAbortException výjimku. Pokud je tento pokus úspěšný, volající vlákno bude přerušeno, což má negativní vliv na výkon webu. V takovém případě se po volání End metody nespustí žádný kód.
Pokud metoda End není schopna ThreadAbortExceptionvytvořit , místo toho vyprázdní bajty odpovědi do klienta. Dělá to synchronně, což může být také škodlivé pro výkon vašeho webu.
V obou případech (bez ohledu na to, jestli ThreadAbortException je výjimka úspěšně vyvolána) kanál odpovědi přeskočí na EndRequest událost.
Metoda CompleteRequest nevyvolá výjimku a kód po volání CompleteRequest metody může být spuštěn. Pokud je vaším záměrem vyhnout se provádění následného kódu a pokud je trest za End výkon přijatelný, můžete místo CompleteRequestvolání volat End .