Основы на эти вопросы и ответы там, мне нравится спрашивать, что является правильным способом перенаправления.
По умолчанию с помощью Redirect (url, endResponse) вызывается ThreadAbortException
, потому что вызывается с endResponse=true
, который вызывает End()
, и поэтому, если вы используете его внутри блока try/catch, это исключение показано там, и это можно считать ошибкой, но на самом деле пользователь пытается перенаправить на страницу, остановив оставшуюся часть обработки страницы.
Другими возможными способами является вызов Redirect(url, endResponse)
с endResponse=false
, следующий за HttpContext.Current.ApplicationInstance.CompleteRequest();
. Используя это, вы не получите никаких исключений.
Итак, вопрос в том, что лучше использовать и почему.