SmtpClient.Dispose Metodo

Definizione

Invia un messaggio QUIT al server SMTP, normalmente termina la connessione TCP e rilascia tutte le risorse utilizzate dall'istanza corrente della classe SmtpClient.

Overload

Dispose()

Invia un messaggio QUIT al server SMTP, normalmente termina la connessione TCP e rilascia tutte le risorse utilizzate dall'istanza corrente della classe SmtpClient.

Dispose(Boolean)

Invia un messaggio QUIT al server SMTP, normalmente termina la connessione TCP, rilascia tutte le risorse utilizzate dall'istanza corrente della classe SmtpClient ed eventualmente elimina le risorse gestite.

Commenti

La connessione stabilita dall'istanza corrente della SmtpClient classe al server SMTP può essere riutilizzata se un'applicazione desidera inviare più messaggi allo stesso server SMTP. Ciò è particolarmente utile quando viene usata l'autenticazione o la crittografia stabilire una connessione al server SMTP. Il processo di autenticazione e definizione di una sessione TLS può essere un'operazione costosa. Un requisito per ristabilire una connessione per ogni messaggio quando si invia una grande quantità di messaggi di posta elettronica allo stesso server SMTP potrebbe avere un impatto significativo sulle prestazioni. Esistono numerose applicazioni di posta elettronica con volumi elevati che inviano aggiornamenti dello stato della posta elettronica, distribuzioni di newsletter o avvisi di posta elettronica. Molte applicazioni client di posta elettronica supportano anche una modalità offline in cui gli utenti possono comporre molti messaggi di posta elettronica inviati in un secondo momento quando viene stabilita una connessione al server SMTP. È tipico che un client di posta elettronica invii tutti i messaggi SMTP a un server SMTP specifico (fornito dal provider di servizi Internet) che quindi inoltra questo messaggio di posta elettronica ad altri server SMTP.

Le SmtpClient connessioni SMTP del pool di implementazione della classe consentono di evitare il sovraccarico di ristabilire una connessione per ogni messaggio allo stesso server. Un'applicazione può riutilizzare lo stesso SmtpClient oggetto per inviare molti messaggi di posta elettronica diversi allo stesso server SMTP e a molti server SMTP diversi. Di conseguenza, non è possibile determinare quando un'applicazione viene terminata usando l'oggetto SmtpClient e deve essere pulita.

Al termine di una sessione SMTP e il client desidera terminare la connessione, deve inviare un messaggio QUIT al server per indicare che non contiene più messaggi da inviare. In questo modo il server può liberare le risorse associate alla connessione dal client ed elaborare i messaggi inviati dal client.

I Dispose metodi eseguono l'iterazione di tutte le connessioni stabilite e inviano un messaggio QUIT a ogni server SMTP, seguito dalla conclusione normale della connessione TCP. Questi metodi rilasciano anche le risorse non gestite usate da Socket e, facoltativamente, eliminano le risorse gestite.

Dispose()

Origine:
SmtpClient.cs
Origine:
SmtpClient.cs
Origine:
SmtpClient.cs

Invia un messaggio QUIT al server SMTP, normalmente termina la connessione TCP e rilascia tutte le risorse utilizzate dall'istanza corrente della classe SmtpClient.

public:
 virtual void Dispose();
public void Dispose ();
abstract member Dispose : unit -> unit
override this.Dispose : unit -> unit
Public Sub Dispose ()

Implementazioni

Commenti

La connessione stabilita dall'istanza corrente della SmtpClient classe al server SMTP può essere riutilizzata se un'applicazione desidera inviare più messaggi allo stesso server SMTP. Ciò è particolarmente utile quando viene usata l'autenticazione o la crittografia stabilire una connessione al server SMTP. Il processo di autenticazione e definizione di una sessione TLS può essere un'operazione costosa. Un requisito per ristabilire una connessione per ogni messaggio quando si invia una grande quantità di messaggi di posta elettronica allo stesso server SMTP potrebbe avere un impatto significativo sulle prestazioni. Esistono numerose applicazioni di posta elettronica con volumi elevati che inviano aggiornamenti dello stato della posta elettronica, distribuzioni di newsletter o avvisi di posta elettronica. Molte applicazioni client di posta elettronica supportano anche una modalità offline in cui gli utenti possono comporre molti messaggi di posta elettronica inviati in un secondo momento quando viene stabilita una connessione al server SMTP. È tipico che un client di posta elettronica invii tutti i messaggi SMTP a un server SMTP specifico (fornito dal provider di servizi Internet) che quindi inoltra questo messaggio di posta elettronica ad altri server SMTP.

Le SmtpClient connessioni SMTP del pool di implementazione della classe consentono di evitare il sovraccarico di ristabilire una connessione per ogni messaggio allo stesso server. Un'applicazione può riutilizzare lo stesso SmtpClient oggetto per inviare molti messaggi di posta elettronica diversi allo stesso server SMTP e a molti server SMTP diversi. Di conseguenza, non è possibile determinare quando un'applicazione viene terminata usando l'oggetto SmtpClient e deve essere pulita.

Al termine di una sessione SMTP e il client desidera terminare la connessione, deve inviare un messaggio QUIT al server per indicare che non contiene più messaggi da inviare. In questo modo il server può liberare le risorse associate alla connessione dal client ed elaborare i messaggi inviati dal client.

La chiamata al Dispose metodo su un SmtpClient oggetto che esegue un'operazione asincrona SendAsync annulla l'operazione di invio come se fosse stato chiamato il SendAsyncCancel metodo .

La SmtpClient classe non ha alcun Finalize metodo. Pertanto, un'applicazione deve chiamare Dispose per liberare in modo esplicito le risorse.

Il Dispose metodo esegue l'iterazione di tutte le connessioni stabilite al server SMTP specificato nella Host proprietà e invia un messaggio QUIT seguito dalla normale chiusura della connessione TCP. Il Dispose metodo rilascia anche le risorse non gestite usate dall'oggetto sottostante Socket.

Chiamare il metodo Dispose dopo aver terminato di utilizzare l'oggetto SmtpClient. Il metodo Dispose lascia l'oggetto SmtpClient in una condizione di inutilizzabilità. Dopo aver chiamato Dispose, è necessario rilasciare tutti i riferimenti a SmtpClient in modo che SmtpClient il Garbage Collector possa recuperare la memoria occupata da .

Per altre informazioni, vedere Pulizia delle risorse non gestite e Implementazione di un metodo Dispose.

Nota

Chiamare sempre il metodo Dispose prima di rilasciare l'ultimo riferimento a SmtpClient. In caso contrario, le risorse in uso non verranno liberate in modo che il Garbage Collector possa recuperare la memoria.

Si applica a

Dispose(Boolean)

Origine:
SmtpClient.cs
Origine:
SmtpClient.cs
Origine:
SmtpClient.cs

Invia un messaggio QUIT al server SMTP, normalmente termina la connessione TCP, rilascia tutte le risorse utilizzate dall'istanza corrente della classe SmtpClient ed eventualmente elimina le risorse gestite.

protected:
 virtual void Dispose(bool disposing);
protected virtual void Dispose (bool disposing);
abstract member Dispose : bool -> unit
override this.Dispose : bool -> unit
Protected Overridable Sub Dispose (disposing As Boolean)

Parametri

disposing
Boolean

true per rilasciare sia le risorse gestite sia quelle non gestite; false per rilasciare solo le risorse non gestite.

Commenti

La connessione stabilita dall'istanza corrente della SmtpClient classe al server SMTP può essere riutilizzata se un'applicazione desidera inviare più messaggi allo stesso server SMTP. Ciò è particolarmente utile quando viene usata l'autenticazione o la crittografia stabilire una connessione al server SMTP. Il processo di autenticazione e definizione di una sessione TLS può essere un'operazione costosa. Un requisito per ristabilire una connessione per ogni messaggio quando si invia una grande quantità di messaggi di posta elettronica allo stesso server SMTP potrebbe avere un impatto significativo sulle prestazioni. Esistono numerose applicazioni di posta elettronica con volumi elevati che inviano aggiornamenti dello stato della posta elettronica, distribuzioni di newsletter o avvisi di posta elettronica. Molte applicazioni client di posta elettronica supportano anche una modalità offline in cui gli utenti possono comporre molti messaggi di posta elettronica inviati in un secondo momento quando viene stabilita una connessione al server SMTP. È tipico che un client di posta elettronica invii tutti i messaggi SMTP a un server SMTP specifico (fornito dal provider di servizi Internet) che quindi inoltra questo messaggio di posta elettronica ad altri server SMTP.

Le SmtpClient connessioni SMTP del pool di implementazione della classe consentono di evitare il sovraccarico di ristabilire una connessione per ogni messaggio allo stesso server. Un'applicazione può riutilizzare lo stesso SmtpClient oggetto per inviare molti messaggi di posta elettronica diversi allo stesso server SMTP e a molti server SMTP diversi. Di conseguenza, non è possibile determinare quando un'applicazione viene terminata usando l'oggetto SmtpClient e deve essere pulita.

Al termine di una sessione SMTP e il client desidera terminare la connessione, deve inviare un messaggio QUIT al server per indicare che non contiene più messaggi da inviare. In questo modo il server può liberare le risorse associate alla connessione dal client ed elaborare i messaggi inviati dal client.

La chiamata al Dispose metodo su un SmtpClient oggetto che esegue un'operazione asincrona SendAsync annulla l'operazione di invio come se fosse stato chiamato il SendAsyncCancel metodo .

La SmtpClient classe non ha alcun Finalize metodo. Pertanto, un'applicazione deve chiamare Dispose per liberare in modo esplicito le risorse.

Il Dispose metodo esegue l'iterazione di tutte le connessioni stabilite al server SMTP specificato nella Host proprietà e invia un messaggio QUIT seguito dalla normale chiusura della connessione TCP. Il Dispose metodo rilascia anche le risorse non gestite usate da Socket e, facoltativamente, elimina le risorse gestite.

Chiamare il metodo Dispose dopo aver terminato di utilizzare l'oggetto SmtpClient. Il metodo Dispose lascia l'oggetto SmtpClient in una condizione di inutilizzabilità. Dopo aver chiamato Dispose, è necessario rilasciare tutti i riferimenti a SmtpClient in modo che SmtpClient il Garbage Collector possa recuperare la memoria occupata da .

Per altre informazioni, vedere Pulizia delle risorse non gestite e Implementazione di un metodo Dispose.

Nota

Chiamare sempre il metodo Dispose prima di rilasciare l'ultimo riferimento a SmtpClient. In caso contrario, le risorse in uso non verranno liberate in modo che il Garbage Collector possa recuperare la memoria.

Si applica a