Foros del Web » Programando para Internet » ASPX (.net) »

¿Que debo hacer?

Estas en el tema de ¿Que debo hacer? en el foro de ASPX (.net) en Foros del Web. Saludos, Tengo un aplicación en asp.net en la cual cuando da un error en una página, envio un mensaje al admid y le envio a ...
  #1 (permalink)  
Antiguo 04/07/2006, 07:48
 
Fecha de Ingreso: octubre-2003
Ubicación: Pucela
Mensajes: 182
Antigüedad: 20 años, 6 meses
Puntos: 0
Sonrisa ¿Que debo hacer?

Saludos,
Tengo un aplicación en asp.net en la cual cuando da un error en una página, envio un mensaje al admid y le envio a la página de error. Mi problema esque el código para hacer esto se repite siempre y me gustaria saber si puedo hacer algo para tener ese código en algún lado y luego usarlo en las páginas que quiera.
Es algo asi
Try
da.Fill(ds, "categorias")
Catch ex As Exception
' En esta partre me gustaria que se pudiera poner en otro lado para no repetirla siempre
Dim mail As New MailMessage
Dim body As String
body = "Pruebas de errores nosolodjs este es el body"
mail.To = "[email protected]"
mail.From = "[email protected]"
mail.Subject = "Prueba de errores nosolodjs"
mail.Body = body
mail.BodyFormat = MailFormat.Html
mail.Body = body
mail.Priority = MailPriority.High
SmtpMail.SmtpServer = ConfigurationSettings.AppSettings("ServerMail")
SmtpMail.Send(mail)
Response.Redirect("error.aspx")

End Try

Un saludo y gracias
__________________
El pasado ya ha pasado y el futuro todavía no ha pasado, es decir, vive el presente.
  #2 (permalink)  
Antiguo 04/07/2006, 08:30
Avatar de moNTeZIon  
Fecha de Ingreso: enero-2005
Ubicación: Lliçà de Munt - BCN
Mensajes: 1.625
Antigüedad: 19 años, 4 meses
Puntos: 9
Si, por ejemplo, puedes crearte una clase publica con un método publico llamado MandarMailAdmin()
Ahi programnas todo eso, recibiendo, claro, todos los parámetros que le hagan falta.
Entonces desde tus páginas sustituyes todo ese código por:

Dim pepe As New miClase
pepe.MandarMailAdmin(Parametro1, parametro2, ...)

Y si ya, la clase la haces Shared, solo tendrías que llamar al método, sin instanciar siquiera al objeto:

miClase.MandarMailAdmin(Parametro1, parametro2, ...)

Saludos.
__________________
..:: moNTeZIon ::..
  #3 (permalink)  
Antiguo 04/07/2006, 08:41
 
Fecha de Ingreso: octubre-2003
Ubicación: Pucela
Mensajes: 182
Antigüedad: 20 años, 6 meses
Puntos: 0
¿Donde tengo que meter esa clase?¿seria algo asi?

Yo creo un archivo de clase miclase.vb

en el cual dentro ahy esto
Imports System.Web.Mail
Public Class mandar
Public Function mail_error()
Dim mail As New MailMessage
Dim body As String
body = "Pruebas de errores nosolodjs este es el body"
mail.To = "[email protected]"
mail.From = "[email protected]"
mail.Subject = "Prueba de errores nosolodjs"
mail.Body = body
mail.BodyFormat = MailFormat.Html
mail.Body = body
mail.Priority = MailPriority.High
SmtpMail.SmtpServer = ConfigurationSettings.AppSettings("ServerMail")
SmtpMail.Send(mail)
End Function
End Class

Y luego lo llamo desde las páginas asi:
mail_error.mandar()
__________________
El pasado ya ha pasado y el futuro todavía no ha pasado, es decir, vive el presente.
  #4 (permalink)  
Antiguo 04/07/2006, 09:39
Avatar de moNTeZIon  
Fecha de Ingreso: enero-2005
Ubicación: Lliçà de Munt - BCN
Mensajes: 1.625
Antigüedad: 19 años, 4 meses
Puntos: 9
La estructura es correcta, seria algo así.
El cómo debes llamarla ya te expliqué más arriba:
Código:
Dim pepe As New mandar
pepe.mail_error()
Si estás con ASP.NET 2.0 debes meter el archivo de clase en la carpeta App_Data destinada para tal caso. En versiones anteriores déjalo por ahi, o créate una carpeta para las clases, tu verás. Hagas lo que hagas será accesible desde cualquier punto de tu aplicación.
Saludos.
__________________
..:: moNTeZIon ::..
  #5 (permalink)  
Antiguo 04/07/2006, 11:40
 
Fecha de Ingreso: octubre-2003
Ubicación: Pucela
Mensajes: 182
Antigüedad: 20 años, 6 meses
Puntos: 0
De acuerdo

Ok, muchas gracias ya me funciono. De la manera que indico más arriba pero con la llamada que tu me indicas.

Muchas gracias por la ayuda.
__________________
El pasado ya ha pasado y el futuro todavía no ha pasado, es decir, vive el presente.
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 10:56.