Foros del Web » Programación para mayores de 30 ;) » .NET »

Control de errores!

Estas en el tema de Control de errores! en el foro de .NET en Foros del Web. no se genera ningún bucle: envía el email 1 sóla vez, redirige a la página y finaliza! ahora tengo web.config: <customErrors mode="RemoteOnly"/> (sin defaultRedirect) no ...

  #31 (permalink)  
Antiguo 21/10/2005, 04:25
j@n
 
Fecha de Ingreso: febrero-2004
Mensajes: 178
Antigüedad: 20 años, 2 meses
Puntos: 0
_error

no se genera ningún bucle: envía el email 1 sóla vez, redirige a la página y finaliza!

ahora tengo web.config: <customErrors mode="RemoteOnly"/>
(sin defaultRedirect)

no hago nada raro... tengo lo que me has comentado tu:

Cita:
Sub Application_Error(ByVal sender As Object, ByVal e As EventArgs)

Dim ex = Server.GetLastError().InnerException
Dim email As New System.Web.Mail.MailMessage
Dim cCuerpo As String
email.From = "...email..."
cCuerpo = ex.message + "<br>" + ex.stacktrace
email.Body = cCuerpo
email.Subject = "Error en la web"
email.BodyFormat = MailFormat.Html
System.Web.Mail.SmtpMail.SmtpServer = "smpt"
email.To = "...email..."
System.Web.Mail.SmtpMail.Send(email)
Server.ClearError()
Response.Redirect("ruta completa")
Response.End()

End Sub
¿¿??
  #32 (permalink)  
Antiguo 21/10/2005, 04:35
Avatar de Jose_minglein2  
Fecha de Ingreso: noviembre-2004
Mensajes: 2.344
Antigüedad: 19 años, 6 meses
Puntos: 8
No lo se la verdad, yo tengo exactamente lo mismo sin el clearError y sin el response.end(), en la redirección pongo:

response.redirect("/nombreapp/pagina.aspx")

asi que no se que más puede ser, porque yo el web.config, lo tengo conforme sale de casa.
  #33 (permalink)  
Antiguo 21/10/2005, 04:39
j@n
 
Fecha de Ingreso: febrero-2004
Mensajes: 178
Antigüedad: 20 años, 2 meses
Puntos: 0
... seguiré intentándolo...

muchas gracias por tu atención.
Si tienes cualquier nueva idea... ya sabes!

j@n
  #34 (permalink)  
Antiguo 21/10/2005, 04:45
Avatar de Jose_minglein2  
Fecha de Ingreso: noviembre-2004
Mensajes: 2.344
Antigüedad: 19 años, 6 meses
Puntos: 8
Prueba una cosa, a lo mejor es una tontería pero a lo mejor es por eso:

dim ex as Exception = Server.GetLastError().InnerException
  #35 (permalink)  
Antiguo 21/10/2005, 07:15
j@n
 
Fecha de Ingreso: febrero-2004
Mensajes: 178
Antigüedad: 20 años, 2 meses
Puntos: 0
... no ha cambiado!

Descripción: Exception of type System.Web.HttpUnhandledException was thrown.
Más información: at System.Web.UI.Page.HandleError(Exception e) at System.Web.UI.Page.ProcessRequestMain() at System.Web.UI.Page.ProcessRequest() at System.Web.UI.Page.ProcessRequest(HttpContext context) at System.Web.HttpServerUtility.ExecuteInternal(Strin g path, TextWriter writer, Boolean preserveForm)

¿¿??
  #36 (permalink)  
Antiguo 21/10/2005, 08:31
Avatar de Jose_minglein2  
Fecha de Ingreso: noviembre-2004
Mensajes: 2.344
Antigüedad: 19 años, 6 meses
Puntos: 8
No se de verdad, mira mi global.asax para haber si encuentras alguna difencia:

Código:
Public Class Global
    Inherits System.Web.HttpApplication

#Region " Código generado por el Diseñador de componentes "

    Public Sub New()
        MyBase.New()

        'El Diseñador de componentes requiere esta llamada.
        InitializeComponent()

        'Agregar cualquier inicialización después de la llamada a InitializeComponent()

    End Sub

    'Requerido por el Diseñador de componentes
    Private components As System.ComponentModel.IContainer

    'NOTA: el Diseñador de componentes requiere el siguiente procedimiento
    'Se puede modificar utilizando el Diseñador de componentes.
    'No lo modifique con el editor de código.
    <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
        components = New System.ComponentModel.Container()
    End Sub

#End Region

    Sub Application_Start(ByVal sender As Object, ByVal e As EventArgs)
        ' Se desencadena cuando se inicia la aplicación
        Application("elementos") = 20
    End Sub

    Sub Session_Start(ByVal sender As Object, ByVal e As EventArgs)
        ' Se desencadena cuando se inicia la sesión
        Session("usuario") = 0
    End Sub

    Sub Application_BeginRequest(ByVal sender As Object, ByVal e As EventArgs)
        ' Se desencadena al principio de cada solicitud
    End Sub

    Sub Application_AuthenticateRequest(ByVal sender As Object, ByVal e As EventArgs)
        ' Se desencadena al intentar autenticar el uso
    End Sub

    Sub Application_Error(ByVal sender As Object, ByVal e As EventArgs)
        ' Se desencadena cuando ocurre un error
        Dim ex As Exception
        'Obtengo el último error que se genero  
        ex = Server.GetLastError().InnerException
        Dim sError As String
        sError = ex.Message
        Dim texto As String = Request.Path + Chr(13) + Chr(10) + Chr(13) + Chr(10)
        texto += ex.Message + Chr(13) + Chr(10) + Chr(13) + Chr(10)
        texto += ex.StackTrace + Chr(13) + Chr(10) + Chr(13) + Chr(10)
        texto += Request.UserHostAddress     
        Dim envio As New emails(texto, dir_email)
        envio.enviar()

        Response.Redirect("........"))
    End Sub

    Sub Session_End(ByVal sender As Object, ByVal e As EventArgs)
        ' Se desencadena cuando termina la sesión        
       
    End Sub

    Sub Application_End(ByVal sender As Object, ByVal e As EventArgs)
        ' Se desencadena cuando termina la aplicación
    End Sub

End Class
La clase mail es la encargada de enviar mails (para no estar repitiendo cada vez el smtp y tal) pero el code interno es el mismo.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:19.