CreateUserWizard.OnSendMailError(SendMailErrorEventArgs) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
SendMailError Вызывает событие, когда сообщение электронной почты не может быть отправлено новому пользователю.
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)
Параметры
Содержит SendMailErrorEventArgs данные события.
Примеры
В следующем примере кода определяется пользовательский CreateUserWizard объект, который регистрирует ошибки электронной почты в функцию ведения журнала для конкретного сайта.
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
В следующем примере кода показана веб-страница, использующая .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>
Комментарии
Метод OnSendMailError вызывается, когда почтовая система SMTP вызывает исключение при попытке отправить сообщение электронной почты новому пользователю.
Exception Проверьте свойство SendMailErrorEventArgs объекта, переданного в качестве e параметра, чтобы определить фактическую причину исключения. Наиболее распространенной проблемой является ошибка конфигурации в <smtpMail> разделе файла Web.config.
Необходимо задать Handled свойство SendMailErrorEventArgs объекта, переданное в качестве e параметра, чтобы сообщить о том, что исключение, вызвавшее OnSendMailError вызов метода, было выполнено, в противном случае исключение создается повторно.
При вызове события обработчик событий вызывается через делегат. Дополнительные сведения см. в разделе "Обработка и создание событий".
Метод OnSendMailError также позволяет производным классам обрабатывать событие без присоединения делегата. Это предпочтительный способ обработки события в производном классе.
Примечания для тех, кто наследует этот метод
При переопределении OnSendMailError(SendMailErrorEventArgs) в производном классе обязательно вызовите метод базового класса OnSendMailError(SendMailErrorEventArgs) , чтобы зарегистрированные делегаты получали событие.