Estoy limpiando algún código de framework heredado y una gran cantidad de él simplemente está codificando por excepción. No se verifican los valores para ver si son nulos, y como resultado, se lanzan y atrapan grandes cantidades de excepciones.Cómo evitar "Response.Redirect no se puede llamar en una devolución de llamada de página"
Tengo la mayoría de ellos limpiados, sin embargo, hay algunos métodos de marco de trabajo de error/inicio de sesión/seguridad que están haciendo Response.Redirect y ahora que estamos usando ajax, estamos recibiendo MUCHO de "Response .Redirect no se puede llamar en una devolución de llamada de página ". Y me gustaría evitar esto si es posible.
¿Hay alguna manera de evitar programáticamente esta excepción? Busco algo así como
if (Request.CanRedirect)
Request.Redirect("url");
Nota, esto también está ocurriendo con Server.Transfer, por lo que me gustaría ser capaz de verificar si soy capaz de hacer Request.Redirect O Server.Transfer.
Actualmente, es simplemente hacer esto
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
}
Dónde en HttpContext.Current puedo encontrar IsCallback? No siempre tendré una Página –
Ah, lo encontré, agregué el código que terminé usando a tu respuesta, ya que tu fragmento es realmente todo lo que necesitaba. No puedo creer que no haya pensado en algo tan simple yo mismo, je. Gracias hombre –