Response.Redirect beendet die Ausführung nicht

Ich habe die Seite Default.aspx, die von BasePage.cs erbt, die von System.Web.UI.Page erbt. In BasePage werden einige allgemeine Aufgaben ausgeführt, die jede Seite beim Laden ausführen muss.

ngenommen, in BasePage wird nach X gesucht. Wenn X = 1, werde ich sofort zu meiner Seite "Discontinued.aspx" umleiten und die Ausführung von BasePage beenden. Wenn ich X = 1 finde, sage ich:

HttpContext.Current.Response.Redirect ("Discontinued.aspx", true);

Ich möchte, dass die Umleitung die Ausführung von BasePage stoppt und sofort abspringt - daher das "true" in der obigen Anweisung - was die Ausführung der aktuellen Seite nach meinem Verständnis stoppen sollte. Das Problem ist, dass es nicht so ist. Ich erwarte, dass die Umleitung die "Thread-Abbruch-Ausnahme" auslöst.

Wenn ich im Debug-Modus ausführe, wird der Vorgang fortgesetzt, als ob er nicht einfach umgeleitet und verlassen würde.

Aber die Weiterleitung wurde auch noch gestartet - sobald ich den Rest von BasePage durchgearbeitet habe, wird die Seite "Nicht mehr weitergeleitet" als Ergebnis der Weiterleitung geladen.

Gibt es einen Grund, warum meine Umleitung die Ausführung von BasePage nicht beendet?

Antworten auf die Frage(12)

Ihre Antwort auf die Frage