HttpResponse.End Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Wysyła wszystkie dane wyjściowe buforowane do klienta, zatrzymuje wykonywanie strony i zgłasza EndRequest zdarzenie.
public:
void End();
public void End ();
member this.End : unit -> unit
Public Sub End ()
Wyjątki
Wywołanie metody do End() zakończyło bieżące żądanie.
Uwagi
Ta metoda jest udostępniana tylko pod kątem zgodności z platformą ASP — czyli w celu zapewnienia zgodności z technologią programowania internetowego opartego na modelu COM, która poprzedzała ASP.NET. Jeśli chcesz przejść do EndRequest zdarzenia i wysłać odpowiedź do klienta, zwykle zaleca się wywołanie CompleteRequest .
Aby naśladować zachowanie End
metody na platformie ASP, ta metoda próbuje zgłosić ThreadAbortException wyjątek. Jeśli ta próba zakończy się pomyślnie, wątek wywołujący zostanie przerwany, co jest szkodliwe dla wydajności witryny. W takim przypadku nie jest wykonywany żaden kod po wywołaniu End metody .
End Jeśli metoda nie może zgłosić ThreadAbortExceptionwartości , zamiast tego opróżnia bajty odpowiedzi do klienta. Robi to synchronicznie, co może być również szkodliwe dla wydajności witryny.
W obu przypadkach (bez względu na to, czy ThreadAbortException wyjątek został pomyślnie zgłoszony), potok odpowiedzi przechodzi do EndRequest zdarzenia.
Metoda CompleteRequest nie zgłasza wyjątku, a kod po wywołaniu CompleteRequest metody może zostać wykonany. Jeśli twoim zamiarem jest uniknięcie wykonania kolejnego kodu, a jeśli kara End za wydajność jest akceptowalna, możesz wywołać End metodę zamiast CompleteRequest.