CreateUserWizard.OnSendMailError(SendMailErrorEventArgs) Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Vyvolá událost, SendMailError když nelze odeslat e-mail novému uživateli.
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)
Parametry
Obsahující SendMailErrorEventArgs data události.
Příklady
Následující příklad kódu definuje vlastní CreateUserWizard objekt, který protokoluje chyby e-mailu do funkce protokolování specifické pro web.
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
Následující příklad kódu ukazuje webovou stránku, která používá 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>
Poznámky
Metoda OnSendMailError je volána, když poštovní systém SMTP vyvolá výjimku při pokusu o odeslání e-mailu novému uživateli.
Exception Prozkoumejte vlastnost objektu SendMailErrorEventArgs předaného jako e
parametr a určete skutečnou příčinu výjimky. Nejběžnějším problémem je chyba konfigurace v <smtpMail>
části Web.config souboru.
Musíte nastavit Handled vlastnost objektu SendMailErrorEventArgs předanou jako e
parametr, aby signalizovala, že výjimka, která způsobila OnSendMailError zavolání metody, byla postarána, jinak je výjimka znovu vyvolána.
Vyvolání události spustí obslužnou rutinu události prostřednictvím delegáta. Další informace najdete v tématu Zpracování a vyvolávání událostí.
Metoda OnSendMailError také umožňuje odvozeným třídám zpracovat událost bez připojení delegáta. Toto je upřednostňovaná technika pro zpracování události v odvozené třídě.
Poznámky pro dědice
Při přepsání OnSendMailError(SendMailErrorEventArgs) v odvozené třídě nezapomeňte volat metodu základní třídy, OnSendMailError(SendMailErrorEventArgs) aby registrovaní delegáti obdrželi událost.