Freigeben über


CreateUserWizard.OnSendMailError(SendMailErrorEventArgs) Methode

Definition

Löst das SendMailError Ereignis aus, wenn E-Mails nicht an den neuen Benutzer gesendet werden können.

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)

Parameter

e
SendMailErrorEventArgs

A SendMailErrorEventArgs containing the event data.

Beispiele

Im folgenden Codebeispiel wird ein benutzerdefiniertes CreateUserWizard Objekt definiert, das E-Mail-Fehler bei einer websitespezifischen Protokollierungsfunktion protokolliert.

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

Das folgende Codebeispiel veranschaulicht eine Webseite, die die 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>

Hinweise

Die OnSendMailError Methode wird aufgerufen, wenn das SMTP-E-Mail-System beim Versuch, E-Mails an den neuen Benutzer zu senden, eine Ausnahme auslöst.

Untersuchen Sie die Exception Eigenschaft des Objekts, das SendMailErrorEventArgs als e Parameter übergeben wird, um die tatsächliche Ursache der Ausnahme zu ermitteln. Das häufigste Problem ist ein Konfigurationsfehler im <smtpMail> Abschnitt der Web.config Datei.

Sie müssen die Handled Eigenschaft des Objekts festlegen, das SendMailErrorEventArgs als e Parameter übergeben wird, um zu signalisieren, dass die Ausnahme, die dazu führte, dass die OnSendMailError Aufgerufene Methode ausgelöst wurde, andernfalls wird die Ausnahme erneut ausgelöst.

Das Auslösen eines Ereignisses ruft den Ereignishandler über einen Delegaten auf. Weitere Informationen finden Sie unter Behandeln und Auslösen von Ereignissen.

Mit der OnSendMailError Methode können abgeleitete Klassen auch das Ereignis behandeln, ohne einen Delegaten anzufügen. Dies ist die bevorzugte Technik für die Behandlung des Ereignisses in einer abgeleiteten Klasse.

Hinweise für Vererber

Achten Sie darauf, beim Überschreiben OnSendMailError(SendMailErrorEventArgs) in einer abgeleiteten Klasse die Methode der Basisklasse OnSendMailError(SendMailErrorEventArgs) aufzurufen, damit registrierte Delegates das Ereignis empfangen.

Gilt für:

Weitere Informationen