HttpResponse.End Metoda
Definicja
Ważny
Niektóre informacje dotyczą produktów przedpremierowych, które mogą zostać znacznie zmodyfikowane przed premierą. Microsoft nie udziela żadnych gwarancji, ani wyraźnych, ani domniemanych, dotyczących informacji podanych tutaj.
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.