EmbeddedMailObjectsCollection Classe
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.
Rappresenta un set ordinato di oggetti EmbeddedMailObject.
public ref class EmbeddedMailObjectsCollection sealed : System::Collections::CollectionBase
public sealed class EmbeddedMailObjectsCollection : System.Collections.CollectionBase
type EmbeddedMailObjectsCollection = class
inherit CollectionBase
Public NotInheritable Class EmbeddedMailObjectsCollection
Inherits CollectionBase
- Ereditarietà
Esempio
Nell'esempio di codice seguente viene illustrata una pagina di ASP.NET che usa un ChangePassword controllo Web e include un gestore eventi per l'evento SendingMail denominato SendingMail
. Nell'esempio di codice si presuppone che il sito Web ASP.NET sia stato configurato per l'uso ASP.NET'appartenenza e l'autenticazione basata su form e che sia stato creato un utente il cui nome e la password sono noti all'utente. Per altre informazioni, vedere Procedura: Implementare l'autenticazione basata su moduli semplici.
Se la modifica della password ha esito positivo, il codice nel SendingMail
gestore eventi tenta di inviare un messaggio di posta elettronica all'utente per confermare la modifica. Per consentire il funzionamento di questo esempio di codice, è necessario che SMTP sia già configurato nel server. Per informazioni su come configurare un server SMTP, vedere Procedura: Installare e configurare server virtuali SMTP in IIS 6.0. Ai fini di questo esempio, non è necessario configurare un server SMTP; l'esempio viene costruito per verificare se non è possibile inviare un messaggio di posta elettronica.
Se un server di posta elettronica non è configurato correttamente o si verifica un altro errore e non è possibile inviare il messaggio di posta elettronica, viene chiamata la SendMailError
funzione . Viene visualizzato un messaggio all'utente. Inoltre, un evento viene registrato nel registro eventi dell'applicazione Windows presupponendo che esista già un'origine evento denominata MySamplesSite. Vedere l'esempio di codice seguente per creare l'origine evento specificata. Per altre informazioni sulla creazione di un'origine evento, vedere Gestione degli eventi del server in Web Forms ASP.NET Pages. La Handled proprietà dell'oggetto SendMailErrorEventArgs è impostata su true
per indicare che l'errore è stato gestito.
<%@ Page Language="C#" AutoEventWireup="True" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
void MySendingMail(object sender, MailMessageEventArgs e)
{
Message1.Text = "Sent mail to you to confirm the password change.";
}
void MySendMailError(object sender, SendMailErrorEventArgs e)
{
Message1.Text = "Could not send email to confirm password change.";
// The MySamplesSite event source has already been created by an administrator.
System.Diagnostics.EventLog myLog = new System.Diagnostics.EventLog();
myLog.Log = "Application";
myLog.Source = "MySamplesSite";
myLog.WriteEntry(
"Sending mail via SMTP failed with the following error: " +
e.Exception.Message.ToString(),
System.Diagnostics.EventLogEntryType.Error);
e.Handled = true;
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>ChangePassword including a SendMailError Event</title>
</head>
<body>
<form id="form1" runat="server">
<div style="text-align:center">
<h1>ChangePassword</h1>
<asp:LoginView ID="LoginView1" Runat="server"
Visible="true">
<LoggedInTemplate>
<asp:LoginName ID="LoginName1" Runat="server" FormatString="You are logged in as {0}." />
<br />
</LoggedInTemplate>
<AnonymousTemplate>
You are not logged in
</AnonymousTemplate>
</asp:LoginView><br />
<asp:ChangePassword ID="ChangePassword1" Runat="server"
BorderStyle="Solid"
BorderWidth="1"
CancelDestinationPageUrl="~/Default.aspx"
DisplayUserName="true"
OnSendingMail="MySendingMail"
OnSendMailError="MySendMailError"
ContinueDestinationPageUrl="~/Default.aspx" >
<MailDefinition
BodyFileName="~\MailFiles\ChangePasswordMail.htm"
Subject="Activity information for you">
<EmbeddedObjects>
<asp:EmbeddedMailObject Name="LoginGif" Path="~\MailFiles\Login.gif" />
<asp:EmbeddedMailObject Name="PrivacyNoticeTxt" Path="~\MailFiles\PrivacyNotice.txt" />
</EmbeddedObjects>
</MailDefinition>
</asp:ChangePassword><br />
<asp:Label ID="Message1" Runat="server" ForeColor="Red" /><br />
<asp:HyperLink ID="HyperLink1" Runat="server"
NavigateUrl="~/Default.aspx">
Home
</asp:HyperLink>
</div>
</form>
</body>
</html>
<%@ Page Language="VB" AutoEventWireup="True" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
Public Sub MySendingMail(ByVal Sender As Object, ByVal e As MailMessageEventArgs)
Message1.Text = "Sent mail to you to confirm the password change."
End Sub
Public Sub MySendMailError(ByVal Sender As Object, ByVal e As SendMailErrorEventArgs)
Message1.Text = "Could not send mail to confirm the password change."
' The MySamplesSite event source has already been created by an administrator.
Dim myLog As System.Diagnostics.EventLog
myLog = new System.Diagnostics.EventLog
myLog.Log = "Application"
myLog.Source = "MySamplesSite"
myLog.WriteEntry("Sending mail via SMTP failed with the following error: " & e.Exception.Message.ToString(), System.Diagnostics.EventLogEntryType.Error)
e.Handled = True
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>ChangePassword including a SendMailError Event</title>
</head>
<body>
<form id="form1" runat="server">
<div style="text-align:center">
<h1>ChangePassword</h1>
<asp:LoginView ID="LoginView1" Runat="server"
Visible="true">
<LoggedInTemplate>
<asp:LoginName ID="LoginName1" Runat="server" FormatString="You are logged in as {0}." />
<br />
</LoggedInTemplate>
<AnonymousTemplate>
You are not logged in
</AnonymousTemplate>
</asp:LoginView><br />
<asp:ChangePassword ID="ChangePassword1" Runat="server"
BorderStyle="Solid"
BorderWidth="1"
CancelDestinationPageUrl="~/Default.aspx"
DisplayUserName="true"
OnSendingMail="MySendingMail"
OnSendMailError="MySendMailError"
ContinueDestinationPageUrl="~/Default.aspx" >
<MailDefinition
BodyFileName="~\MailFiles\ChangePasswordMail.htm"
Subject="Activity information for you">
<EmbeddedObjects>
<asp:EmbeddedMailObject Name="LoginGif" Path="~\MailFiles\Login.gif" />
<asp:EmbeddedMailObject Name="PrivacyNoticeTxt" Path="~\MailFiles\PrivacyNotice.txt" />
</EmbeddedObjects>
</MailDefinition>
</asp:ChangePassword><br />
<asp:Label ID="Message1" Runat="server" ForeColor="Red" /><br />
<asp:HyperLink ID="HyperLink1" Runat="server"
NavigateUrl="~/Default.aspx">
Home
</asp:HyperLink>
</div>
</form>
</body>
</html>
Usare l'esempio di codice seguente se è necessario aggiungere a livello di codice l'origine evento denominata MySamplesSite al registro applicazioni. L'origine evento deve esistere affinché il primo esempio di codice funzioni correttamente. L'esempio di codice seguente richiede privilegi di amministratore.
#region Using directives
using System;
using System.Collections.Generic;
using System.Text;
using System.Diagnostics;
#endregion
namespace CreateEventSource
{
class Program
{
static void Main(string[] args)
{
try
{
// Create the source, if it does not already exist.
if (!EventLog.SourceExists("MySamplesSite"))
{
EventLog.CreateEventSource("MySamplesSite", "Application");
Console.WriteLine("Creating Event Source");
}
// Create an EventLog instance and assign its source.
EventLog myLog = new EventLog();
myLog.Source = "MySamplesSite";
// Write an informational entry to the event log.
myLog.WriteEntry("Testing writing to event log.");
Console.WriteLine("Message written to event log.");
}
catch (Exception e)
{
Console.WriteLine("Exception:");
Console.WriteLine("{0}", e.ToString());
}
}
}
}
Imports System.Collections.Generic
Imports System.Text
Imports System.Diagnostics
Namespace CreateEventSource
Class Program
Sub Main()
Try
' Create the source, if it does not already exist.
If Not (EventLog.SourceExists("MySamplesSite")) Then
EventLog.CreateEventSource("MySamplesSite", "Application")
Console.WriteLine("Creating Event Source")
End If
' Create an EventLog instance and assign its source.
Dim myLog As New EventLog
myLog.Source = "MySamplesSite"
' Write an informational entry to the event log.
myLog.WriteEntry("Testing writing to event log.")
Console.WriteLine("Message written to event log.")
Catch e As Exception
Console.WriteLine("Exception:")
Console.WriteLine(e.ToString)
End Try
End Sub
End Class
End Namespace
Il codice di esempio seguente può essere usato come file di ChangePasswordMail.htm per il codice di esempio precedente.
Importante
L'invio di nomi di account utente o password tramite posta elettronica è una potenziale minaccia per la sicurezza. Email messaggi vengono in genere inviati in testo normale e possono essere letti da applicazioni speciali di "sniffing". Per migliorare la sicurezza, usare le mitigazioni descritte in Protezione dei controlli di accesso.
<html>
<head><title></title></head>
<body>
<form>
<h1>Your password for the account named "<%Username%>" has changed.</h1>
<p>
If you did not initiate this change, please call 1-206-555-0100.
</p>
<p>
<a href="http://www.contoso.com/login.aspx">
<img src="cid:LoginGif" alt="Log In" />
</a>
</p>
<p>
Please read our attached Privacy Notice.
</p>
</form>
</body>
</html>
Commenti
Archivia EmbeddedMailObjectsCollection i riferimenti agli elementi che verranno incorporati in un messaggio di posta elettronica. Gli elementi incorporati possono essere file di immagine, ad esempio logo aziendali. L'oggetto EmbeddedMailObjectsCollection viene utilizzato dalla EmbeddedObjects proprietà dell'oggetto MailDefinition .
Email messaggi che consentono la configurazione degli oggetti incorporati nei controlli Web seguenti impostandone MailDefinition le proprietà in modo dichiarativo:
Nota
I valori negli EmbeddedMailObject oggetti e EmbeddedMailObjectsCollection non vengono archiviati nello stato di visualizzazione. In questo modo si protegge da utenti malintenzionati che individuano le informazioni sul percorso per il server.
Costruttori
EmbeddedMailObjectsCollection() |
Inizializza una nuova istanza della classe EmbeddedMailObjectsCollection. |
Proprietà
Capacity |
Ottiene o imposta il numero di elementi che CollectionBase può contenere. (Ereditato da CollectionBase) |
Count |
Ottiene il numero di elementi contenuti nell'istanza di CollectionBase. Questa proprietà non può essere sottoposta a override. (Ereditato da CollectionBase) |
InnerList |
Ottiene un ArrayList contenente l'elenco degli elementi presenti nell'istanza CollectionBase. (Ereditato da CollectionBase) |
Item[Int32] |
Restituisce un elemento specifico di un oggetto EmbeddedMailObjectsCollection, identificato dalla relativa posizione. |
List |
Ottiene un IList contenente l'elenco degli elementi presenti nell'istanza CollectionBase. (Ereditato da CollectionBase) |
Metodi
Add(EmbeddedMailObject) |
Aggiunge un oggetto EmbeddedMailObject alla fine dell'insieme EmbeddedMailObjectsCollection. |
Clear() |
Consente di rimuovere tutti gli oggetti dall'istanza CollectionBase. Questo metodo non può essere sottoposto a override. (Ereditato da CollectionBase) |
Contains(EmbeddedMailObject) |
Determina se EmbeddedMailObjectsCollection contiene un oggetto EmbeddedMailObject specifico. |
CopyTo(EmbeddedMailObject[], Int32) |
Copia gli oggetti dell'insieme in un'istanza Array unidimensionale a partire dall'indice specificato nella matrice. |
Equals(Object) |
Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object) |
GetEnumerator() |
Restituisce un enumeratore per lo scorrimento dell'istanza di CollectionBase. (Ereditato da CollectionBase) |
GetHashCode() |
Funge da funzione hash predefinita. (Ereditato da Object) |
GetType() |
Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object) |
IndexOf(EmbeddedMailObject) |
Determina l'indice di un oggetto EmbeddedMailObject specifico in EmbeddedMailObjectsCollection. |
Insert(Int32, EmbeddedMailObject) |
Inserisce un oggetto EmbeddedMailObject nell'oggetto EmbeddedMailObjectsCollection in corrispondenza della posizione di indice specificata. |
MemberwiseClone() |
Crea una copia superficiale dell'oggetto Object corrente. (Ereditato da Object) |
OnClear() |
Esegue processi personalizzati aggiuntivi quando viene cancellato il contenuto dell'istanza di CollectionBase. (Ereditato da CollectionBase) |
OnClearComplete() |
Esegue procedure personalizzate aggiuntive prima di cancellare il contenuto dell'istanza di CollectionBase. (Ereditato da CollectionBase) |
OnInsert(Int32, Object) |
Esegue procedure personalizzate aggiuntive prima di inserire un nuovo elemento nell'istanza di CollectionBase. (Ereditato da CollectionBase) |
OnInsertComplete(Int32, Object) |
Esegue procedure personalizzate aggiuntive dopo aver inserito un nuovo elemento nell'istanza di CollectionBase. (Ereditato da CollectionBase) |
OnRemove(Int32, Object) |
Consente di eseguire procedure personalizzate aggiuntive durante l'eliminazione di un elemento dall'istanza CollectionBase. (Ereditato da CollectionBase) |
OnRemoveComplete(Int32, Object) |
Esegue procedure personalizzate aggiuntive dopo della rimozione di un elemento dall'istanza di CollectionBase. (Ereditato da CollectionBase) |
OnSet(Int32, Object, Object) |
Esegue procedure personalizzate aggiuntive prima di impostare un valore nell'istanza di CollectionBase. (Ereditato da CollectionBase) |
OnSetComplete(Int32, Object, Object) |
Esegue procedure personalizzate aggiuntive dopo aver impostato un valore nell'istanza di CollectionBase. (Ereditato da CollectionBase) |
OnValidate(Object) |
Esegue processi personalizzati aggiuntivi durante la convalida di un valore. (Ereditato da CollectionBase) |
Remove(EmbeddedMailObject) |
Rimuove la prima occorrenza dell'oggetto EmbeddedMailObject specificato da EmbeddedMailObjectsCollection. |
RemoveAt(Int32) |
Consente di rimuovere la voce in corrispondenza dell'indice specificato dell'istanza CollectionBase. Questo metodo non può essere sottoposto a override. (Ereditato da CollectionBase) |
ToString() |
Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |
Implementazioni dell'interfaccia esplicita
ICollection.CopyTo(Array, Int32) |
Copia l'intero oggetto CollectionBase in un oggetto Array compatibile unidimensionale, a partire dall'indice specificato della matrice di destinazione. (Ereditato da CollectionBase) |
ICollection.IsSynchronized |
Ottiene un valore che indica se l'accesso a CollectionBase è sincronizzato (thread-safe). (Ereditato da CollectionBase) |
ICollection.SyncRoot |
Ottiene un oggetto che può essere usato per sincronizzare l'accesso a CollectionBase. (Ereditato da CollectionBase) |
IList.Add(Object) |
Aggiunge un oggetto alla fine di CollectionBase. (Ereditato da CollectionBase) |
IList.Contains(Object) |
Consente di stabilire se CollectionBase contiene un elemento specifico. (Ereditato da CollectionBase) |
IList.IndexOf(Object) |
Cerca l'oggetto Object specificato e restituisce l'indice in base zero della prima occorrenza all'interno dell'intero CollectionBase. (Ereditato da CollectionBase) |
IList.Insert(Int32, Object) |
Inserisce un elemento in CollectionBase in corrispondenza dell'indice specificato. (Ereditato da CollectionBase) |
IList.IsFixedSize |
Ottiene un valore che indica se CollectionBase ha dimensioni fisse. (Ereditato da CollectionBase) |
IList.IsReadOnly |
Ottiene un valore che indica se CollectionBase è di sola lettura. (Ereditato da CollectionBase) |
IList.Item[Int32] |
Ottiene o imposta l'elemento in corrispondenza dell'indice specificato. (Ereditato da CollectionBase) |
IList.Remove(Object) |
Rimuove la prima occorrenza di un oggetto specifico da CollectionBase. (Ereditato da CollectionBase) |
Metodi di estensione
Cast<TResult>(IEnumerable) |
Esegue il cast degli elementi di un oggetto IEnumerable nel tipo specificato. |
OfType<TResult>(IEnumerable) |
Filtra gli elementi di un oggetto IEnumerable in base a un tipo specificato. |
AsParallel(IEnumerable) |
Consente la parallelizzazione di una query. |
AsQueryable(IEnumerable) |
Converte un oggetto IEnumerable in un oggetto IQueryable. |
Si applica a
Vedi anche
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per