Я очищаю некоторый устаревший код фреймворка, и огромное его количество просто кодирует за исключением. Никакие значения не проверяются, чтобы видеть, являются ли они нулевыми, и в результате большое количество исключений выбрасывается и перехватывается.
У меня большинство из них очищено, однако, есть несколько методов, связанных с ошибками / логином / безопасностью, которые делают Response.Redirect, и теперь, когда мы используем ajax, мы получаем ALOT " Response.Redirect не может быть вызван в обратном вызове страницы. " И я бы хотел избежать этого, если это вообще возможно.
Есть ли способ программно избежать этого исключения? Я ищу что-то вроде
if (Request.CanRedirect)
Request.Redirect("url");
Обратите внимание, что это также происходит с Server.Transfer, поэтому я хотел бы иметь возможность проверить, могу ли я выполнить Request.Redirect ИЛИ Server.Transfer.
В настоящее время это просто делает
try
{
Server.Transfer("~/Error.aspx"); // sometimes response.redirect
}
catch (Exception abc)
{
// handle error here, the error is typically:
// Response.Redirect cannot be called in a Page callback
}