Я пытаюсь сделать ошибку более изящно, когда пользователь пытается загрузить файл, который слишком велик для сервера. Однако, когда я пытаюсь зафиксировать ошибку в Global.asax.cs, она, похоже, пропустит мой код перенаправления. Вот ядро того, что у меня есть.Невозможно перенаправить из Application_Error даже после устранения ошибки
protected void Application_Error(object sender, EventArgs e)
{
HttpContext.Current.ClearError();
Response.Redirect("CustomErrors.aspx", false);
Context.ApplicationInstance.CompleteRequest();
}
Повсюду я смотрю «ответ», похоже, чтобы очистить ошибку, но я уже это сделал. Что еще может пойти не так. Есть идеи?
«заголовок страницы уже был отправлен клиенту по времени метод Page_Load() был вызван.» Эээ? Нет, нет. Они * были * подняты к тому времени, когда событие «Application_Error» было запущено. –
Спасибо за исправление @AntP, я соответственно изменю свой ответ. – Damon
Стоит также отметить, что 'Page_Load' фактически происходит * перед * другими обработчиками событий, такими как кнопки для щелчков кнопок (ваш ответ, похоже, предполагает, что это наоборот), поэтому вполне разумно перенаправить метод' Page_Load'. –