CreateUserWizard.OnSendMailError(SendMailErrorEventArgs) Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Genera l'evento SendMailError quando il messaggio di posta elettronica non può essere inviato al nuovo utente.
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)
Parametri
Oggetto SendMailErrorEventArgs che contiene i dati dell'evento.
Esempio
Nell'esempio di codice seguente viene definito un oggetto personalizzato CreateUserWizard che registra gli errori di posta elettronica a una funzione di registrazione specifica del sito.
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
Nell'esempio di codice seguente viene illustrata una pagina Web che 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>
Commenti
Il OnSendMailError metodo viene chiamato quando il sistema di posta SMTP genera un'eccezione durante il tentativo di inviare messaggi di posta elettronica al nuovo utente.
Esaminare la Exception proprietà dell'oggetto SendMailErrorEventArgs passato come e
parametro per determinare la causa effettiva dell'eccezione. Il problema più comune è un errore di configurazione nella <smtpMail>
sezione del file di Web.config.
È necessario impostare la Handled proprietà dell'oggetto SendMailErrorEventArgs passato come e
parametro per segnalare che l'eccezione che ha causato la chiamata al OnSendMailError metodo è stata eseguita. In caso contrario, viene generata nuovamente l'eccezione.
Quando viene generato un evento, il gestore dell'evento viene richiamato tramite un delegato. Per altre informazioni, vedere la gestione e generazione di eventi.
Il metodo OnSendMailError consente inoltre alle classi derivate di gestire l'evento senza associare un delegato. È la tecnica consigliata per la gestione dell'evento in una classe derivata.
Note per gli eredi
Quando si esegue l'override OnSendMailError(SendMailErrorEventArgs) in una classe derivata, assicurarsi di chiamare il metodo della OnSendMailError(SendMailErrorEventArgs) classe base in modo che i delegati registrati ricevano l'evento.