CreateUserWizard.OnSendMailError(SendMailErrorEventArgs) Metod

Definition

Genererar SendMailError händelsen när e-post inte kan skickas till den nya användaren.

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)

Parametrar

e
SendMailErrorEventArgs

En SendMailErrorEventArgs som innehåller händelsedata.

Exempel

I följande kodexempel definieras ett anpassat CreateUserWizard objekt som loggar e-postfel till en platsspecifik loggningsfunktion.

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

I följande kodexempel visas en webbsida som använder 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>

Kommentarer

Metoden OnSendMailError anropas när SMTP-e-postsystemet skapar ett undantag vid försök att skicka e-post till den nya användaren.

Granska egenskapen för Exception objektet SendMailErrorEventArgs som skickades som parameter för e att fastställa den faktiska orsaken till undantaget. Det vanligaste problemet är ett konfigurationsfel i <smtpMail> avsnittet i Web.config-filen.

Du måste ange Handled egenskapen för objektet SendMailErrorEventArgs som skickas som parameter för e att signalera att undantaget som gjorde OnSendMailError att metoden anropades har tagits hand om, annars genereras undantaget igen.

När du skapar en händelse anropas händelsehanteraren via ett ombud. Mer information finns i Hantera och höja händelser.

Metoden OnSendMailError gör det också möjligt för härledda klasser att hantera händelsen utan att koppla ett ombud. Det här är den bästa tekniken för att hantera händelsen i en härledd klass.

Anteckningar till arvingar

När du OnSendMailError(SendMailErrorEventArgs) åsidosätter i en härledd klass måste du anropa basklassmetoden OnSendMailError(SendMailErrorEventArgs) så att registrerade ombud tar emot händelsen.

Gäller för

Se även