CreateUserWizard.OnSendMailError(SendMailErrorEventArgs) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Genera el evento SendMailError cuando no se puede enviar correo electrónico al nuevo usuario.
protected:
virtual void OnSendMailError(System::Web::UI::WebControls::SendMailErrorEventArgs ^ e);
protected virtual void OnSendMailError (System.Web.UI.WebControls.SendMailErrorEventArgs e);
abstract member OnSendMailError : System.Web.UI.WebControls.SendMailErrorEventArgs -> unit
override this.OnSendMailError : System.Web.UI.WebControls.SendMailErrorEventArgs -> unit
Protected Overridable Sub OnSendMailError (e As SendMailErrorEventArgs)
Parámetros
SendMailErrorEventArgs que contiene los datos del evento.
Ejemplos
En el ejemplo de código siguiente se define un objeto personalizado CreateUserWizard que registra errores de correo electrónico en una función de registro específica del sitio.
using System;
using System.Web;
using System.Web.UI.WebControls;
using System.Security.Permissions;
namespace Samples.AspNet.CS.Controls {
[AspNetHostingPermission (SecurityAction.Demand, Level = AspNetHostingPermissionLevel.Minimal)]
[AspNetHostingPermission (SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Minimal)]
public class CustomCreateUserWizard : CreateUserWizard
{
private void SiteSpecificErrorLoggingProcedure (SendMailErrorEventArgs e)
{
// Site-specific code for logging email errors goes here.
}
protected override void OnSendMailError (SendMailErrorEventArgs e)
{
this.SiteSpecificErrorLoggingProcedure (e);
e.Handled = true;
}
}
}
Imports System.Web
Imports System.Web.UI.WebControls
Imports System.Security.Permissions
Namespace Samples.AspNet.VB.Controls
<AspNetHostingPermission(SecurityAction.Demand, Level:=AspNetHostingPermissionLevel.Minimal)> _
<AspNetHostingPermission(SecurityAction.InheritanceDemand, Level:=AspNetHostingPermissionLevel.Minimal)> _
Public Class CustomCreateUserWizard
Inherits CreateUserWizard
Private Sub SiteSpecificErrorLoggingProcedure(ByVal e As SendMailErrorEventArgs)
' Site-specific code for logging email errors goes here.
End Sub
Overloads Sub OnSendMailError(ByVal e As SendMailErrorEventArgs)
Me.SiteSpecificErrorLoggingProcedure(e)
e.Handled = True
End Sub
End Class
End Namespace
En el ejemplo de código siguiente se muestra una página web que usa .CustomCreateUserWizard
<%@ Page Language="C#"%>
<%@ Import namespace="Samples.AspNet.CS.Controls" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
void Page_Load (object sender, EventArgs e)
{
CustomCreateUserWizard createUser = new CustomCreateUserWizard ();
Placeholder1.Controls.Add (createUser);
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>CreateUserWizard.OnSendMailError sample</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:placeholder id="Placeholder1" runat="server">
</asp:placeholder>
</div>
</form>
</body>
</html>
<%@ Page Language="VB"%>
<%@ Import namespace="Samples.AspNet.VB.Controls" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
Dim createUser As New CustomCreateUserWizard
Placeholder1.Controls.Add(createUser)
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>
CreateUserWizard.OnSendMailError sample</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:placeholder id="Placeholder1" runat="server">
</asp:placeholder>
</div>
</form>
</body>
</html>
Comentarios
Se OnSendMailError llama al método cuando el sistema de correo SMTP genera una excepción al intentar enviar correo electrónico al nuevo usuario.
Examine la Exception propiedad del SendMailErrorEventArgs objeto pasado como e
parámetro para determinar la causa real de la excepción. El problema más común es un error de configuración en la <smtpMail>
sección del archivo Web.config.
Debe establecer la Handled propiedad del SendMailErrorEventArgs objeto pasado como e
parámetro para indicar que se ha vuelto a producir la excepción que provocó OnSendMailError que se llamara al método; de lo contrario, se vuelve a producir la excepción.
Cuando se genera un evento, se invoca el controlador de eventos a través de un delegado. Para obtener más información, consulte controlar y provocar eventos.
El método OnSendMailError también permite que las clases derivadas controlen el evento sin adjuntar ningún delegado. Ésta es la técnica preferida para controlar el evento en una clase derivada.
Notas a los desarrolladores de herederos
Al invalidar OnSendMailError(SendMailErrorEventArgs) en una clase derivada, asegúrese de llamar al método de OnSendMailError(SendMailErrorEventArgs) la clase base para que los delegados registrados reciban el evento.