У меня есть страница Default.aspx, которая наследуется от BasePage.cs, которая наследуется от System.Web.UI.Page. BasePage - это место, где я делаю некоторые общие вещи, которые должна делать каждая страница при загрузке.
В BasePage, скажем, я проверяю X. Если X = 1, я немедленно перенаправляюсь на мою страницу "Discontinued.aspx" и прекращаю выполнение BasePage. Если я найду X = 1, я скажу:
HttpContext.Current.Response.Redirect( "Discontinued.aspx", true);
Я хочу, чтобы перенаправление прекратило выполнение BasePage и сразу же выскользнуло - отсюда и "истина" в вышеприведенном утверждении - что должно прекратить выполнение текущей страницы, насколько я понимаю. Проблема в том, что нет. Я ожидаю, что перенаправление бросит "исключение прерывания потока".
Когда я запускаю режим отладки, он переходит в режим перехода, как будто он не просто перенаправляется и уходит.
Но перенаправление все еще началось - как только я закончу работу по остальной части BasePage, страница "Discontinued" начнет загружаться в результате перенаправления.
Есть ли причина, по которой мой Redirect не будет убивать выполнение BasePage?