Condividi tramite


SmtpClient.Dispose Metodo

Definizione

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

Overload

Nome Descrizione
Dispose()

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

Dispose(Boolean)

Invia un messaggio QUIT al server SMTP, termina normalmente la connessione TCP, rilascia tutte le risorse utilizzate dall'istanza corrente della SmtpClient classe 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 si utilizza l'autenticazione o la crittografia stabilire una connessione al server SMTP. Il processo di autenticazione e definizione di una sessione TLS può essere costoso. 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 diverse 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à off-line in cui gli utenti possono comporre molti messaggi di posta elettronica inviati in un secondo momento quando viene stabilita una connessione al server SMTP. In genere un client di posta elettronica invia tutti i messaggi SMTP a un server SMTP specifico (fornito dal provider di servizi Internet) che inoltra quindi il messaggio di posta elettronica ad altri server SMTP.

Il SmtpClient pool di implementazione della classe esegue il pool di connessioni SMTP in modo da 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 completata 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 da terminando normalmente la 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
Origine:
SmtpClient.cs
Origine:
SmtpClient.cs

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

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 si utilizza l'autenticazione o la crittografia stabilire una connessione al server SMTP. Il processo di autenticazione e definizione di una sessione TLS può essere costoso. 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 diverse 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à off-line in cui gli utenti possono comporre molti messaggi di posta elettronica inviati in un secondo momento quando viene stabilita una connessione al server SMTP. In genere un client di posta elettronica invia tutti i messaggi SMTP a un server SMTP specifico (fornito dal provider di servizi Internet) che inoltra quindi il messaggio di posta elettronica ad altri server SMTP.

Il SmtpClient pool di implementazione della classe esegue il pool di connessioni SMTP in modo da 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 completata 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 Dispose al termine dell'utilizzo di SmtpClient. Il Dispose metodo lascia l'oggetto SmtpClient in uno stato inutilizzabile. 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.

Annotazioni

Chiamare Dispose sempre prima di rilasciare l'ultimo SmtpClientriferimento a . 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
Origine:
SmtpClient.cs
Origine:
SmtpClient.cs

Invia un messaggio QUIT al server SMTP, termina normalmente la connessione TCP, rilascia tutte le risorse utilizzate dall'istanza corrente della SmtpClient classe 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 risorse gestite che non gestite; false per rilasciare solo 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 si utilizza l'autenticazione o la crittografia stabilire una connessione al server SMTP. Il processo di autenticazione e definizione di una sessione TLS può essere costoso. 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 diverse 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à off-line in cui gli utenti possono comporre molti messaggi di posta elettronica inviati in un secondo momento quando viene stabilita una connessione al server SMTP. In genere un client di posta elettronica invia tutti i messaggi SMTP a un server SMTP specifico (fornito dal provider di servizi Internet) che inoltra quindi il messaggio di posta elettronica ad altri server SMTP.

Il SmtpClient pool di implementazione della classe esegue il pool di connessioni SMTP in modo da 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 completata 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 Dispose al termine dell'utilizzo di SmtpClient. Il Dispose metodo lascia l'oggetto SmtpClient in uno stato inutilizzabile. 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.

Annotazioni

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

Si applica a