Partage via


SmtpClient.Dispose Méthode

Définition

Envoie un message QUIT au serveur SMTP, termine la connexion TCP et libère toutes les ressources utilisées par l'instance actuelle de la classe SmtpClient.

Surcharges

Dispose()

Envoie un message QUIT au serveur SMTP, termine la connexion TCP et libère toutes les ressources utilisées par l'instance actuelle de la classe SmtpClient.

Dispose(Boolean)

Envoie un message QUIT au serveur SMTP, met fin à la connexion TCP, libère toutes les ressources utilisées par l'instance actuelle de la classe SmtpClient, et supprime éventuellement les ressources managées.

Remarques

La connexion établie par le instance actuel de la SmtpClient classe au serveur SMTP peut être réutilisée si une application souhaite envoyer plusieurs messages au même serveur SMTP. Cela est particulièrement utile lorsque l’authentification ou le chiffrement sont utilisés pour établir une connexion au serveur SMTP. Le processus d’authentification et d’établissement d’une session TLS peut être coûteux. Une exigence de rétablir une connexion pour chaque message lors de l’envoi d’une grande quantité d’e-mails au même serveur SMTP peut avoir un impact significatif sur les performances. Il existe un certain nombre d’applications de messagerie volumineuses qui envoient des e-mails status mises à jour, des distributions de bulletins d’informations ou des alertes par e-mail. De nombreuses applications clientes de messagerie prennent également en charge un mode hors ligne où les utilisateurs peuvent composer de nombreux messages électroniques qui sont envoyés ultérieurement lorsqu’une connexion au serveur SMTP est établie. Il est courant qu’un client de messagerie envoie tous les messages SMTP à un serveur SMTP spécifique (fourni par le fournisseur de services Internet) qui transfère ensuite cet e-mail à d’autres serveurs SMTP.

L’implémentation SmtpClient de classe met en pool les connexions SMTP afin d’éviter la surcharge liée au rétablissement d’une connexion pour chaque message sur le même serveur. Une application peut réutiliser le même SmtpClient objet pour envoyer de nombreux e-mails différents au même serveur SMTP et à de nombreux serveurs SMTP différents. Par conséquent, il n’existe aucun moyen de déterminer quand une application a fini d’utiliser l’objet SmtpClient et qu’elle doit être nettoyée.

Lorsqu’une session SMTP est terminée et que le client souhaite arrêter la connexion, il doit envoyer un message QUIT au serveur pour indiquer qu’il n’a plus de messages à envoyer. Cela permet au serveur de libérer du client les ressources associées à la connexion et de traiter les messages envoyés par le client.

Les Dispose méthodes itèrent au sein de toutes les connexions établies et envoient un message QUIT à chaque serveur SMTP, puis terminent normalement la connexion TCP. Ces méthodes libèrent également les ressources non managées utilisées par le Socket et, éventuellement, suppriment les ressources managées.

Dispose()

Source:
SmtpClient.cs
Source:
SmtpClient.cs
Source:
SmtpClient.cs

Envoie un message QUIT au serveur SMTP, termine la connexion TCP et libère toutes les ressources utilisées par l'instance actuelle de la classe SmtpClient.

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

Implémente

Remarques

La connexion établie par le instance actuel de la SmtpClient classe au serveur SMTP peut être réutilisée si une application souhaite envoyer plusieurs messages au même serveur SMTP. Cela est particulièrement utile lorsque l’authentification ou le chiffrement sont utilisés pour établir une connexion au serveur SMTP. Le processus d’authentification et d’établissement d’une session TLS peut être coûteux. Une exigence de rétablir une connexion pour chaque message lors de l’envoi d’une grande quantité d’e-mails au même serveur SMTP peut avoir un impact significatif sur les performances. Il existe un certain nombre d’applications de messagerie volumineuses qui envoient des e-mails status mises à jour, des distributions de bulletins d’informations ou des alertes par e-mail. De nombreuses applications clientes de messagerie prennent également en charge un mode hors ligne où les utilisateurs peuvent composer de nombreux messages électroniques qui sont envoyés ultérieurement lorsqu’une connexion au serveur SMTP est établie. Il est courant qu’un client de messagerie envoie tous les messages SMTP à un serveur SMTP spécifique (fourni par le fournisseur de services Internet) qui transfère ensuite cet e-mail à d’autres serveurs SMTP.

L’implémentation SmtpClient de classe met en pool les connexions SMTP afin d’éviter la surcharge liée au rétablissement d’une connexion pour chaque message sur le même serveur. Une application peut réutiliser le même SmtpClient objet pour envoyer de nombreux e-mails différents au même serveur SMTP et à de nombreux serveurs SMTP différents. Par conséquent, il n’existe aucun moyen de déterminer quand une application a fini d’utiliser l’objet SmtpClient et qu’elle doit être nettoyée.

Lorsqu’une session SMTP est terminée et que le client souhaite arrêter la connexion, il doit envoyer un message QUIT au serveur pour indiquer qu’il n’a plus de messages à envoyer. Cela permet au serveur de libérer du client les ressources associées à la connexion et de traiter les messages envoyés par le client.

L’appel de la Dispose méthode sur un SmtpClient objet qui exécute une opération asynchrone SendAsync annule l’opération d’envoi comme si la SendAsyncCancel méthode avait été appelée.

La SmtpClient classe n’a pas de Finalize méthode. Par conséquent, une application doit appeler Dispose pour libérer explicitement des ressources.

La Dispose méthode effectue une itération au sein de toutes les connexions établies vers le serveur SMTP spécifié dans la Host propriété et envoie un message QUIT suivi de la fin normale de la connexion TCP. La Dispose méthode libère également les ressources non managées utilisées par le sous-jacent Socket.

Appelez la méthode Dispose une fois que vous avez terminé d'utiliser SmtpClient. La méthode Dispose rend le SmtpClient inutilisable. Après avoir appelé Dispose, vous devez libérer toutes les références à afin SmtpClient que le récupérateur de mémoire puisse récupérer la mémoire que le SmtpClient occupait.

Pour plus d’informations, consultez Nettoyage des ressources non managées et Implémentation d’une méthode Dispose.

Notes

Appelez toujours Dispose avant de libérer votre dernière référence à SmtpClient. Sinon, les ressources qu’il utilise ne seront pas libérées afin que le récupérateur de mémoire puisse récupérer la mémoire.

S’applique à

Dispose(Boolean)

Source:
SmtpClient.cs
Source:
SmtpClient.cs
Source:
SmtpClient.cs

Envoie un message QUIT au serveur SMTP, met fin à la connexion TCP, libère toutes les ressources utilisées par l'instance actuelle de la classe SmtpClient, et supprime éventuellement les ressources managées.

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)

Paramètres

disposing
Boolean

true pour libérer les ressources managées et non managées ; false pour libérer uniquement les ressources non managées.

Remarques

La connexion établie par le instance actuel de la SmtpClient classe au serveur SMTP peut être réutilisée si une application souhaite envoyer plusieurs messages au même serveur SMTP. Cela est particulièrement utile lorsque l’authentification ou le chiffrement sont utilisés pour établir une connexion au serveur SMTP. Le processus d’authentification et d’établissement d’une session TLS peut être coûteux. Une exigence de rétablir une connexion pour chaque message lors de l’envoi d’une grande quantité d’e-mails au même serveur SMTP peut avoir un impact significatif sur les performances. Il existe un certain nombre d’applications de messagerie volumineuses qui envoient des e-mails status mises à jour, des distributions de bulletins d’informations ou des alertes par e-mail. De nombreuses applications clientes de messagerie prennent également en charge un mode hors ligne où les utilisateurs peuvent composer de nombreux messages électroniques qui sont envoyés ultérieurement lorsqu’une connexion au serveur SMTP est établie. Il est courant qu’un client de messagerie envoie tous les messages SMTP à un serveur SMTP spécifique (fourni par le fournisseur de services Internet) qui transfère ensuite cet e-mail à d’autres serveurs SMTP.

L’implémentation SmtpClient de classe met en pool les connexions SMTP afin d’éviter la surcharge liée au rétablissement d’une connexion pour chaque message sur le même serveur. Une application peut réutiliser le même SmtpClient objet pour envoyer de nombreux e-mails différents au même serveur SMTP et à de nombreux serveurs SMTP différents. Par conséquent, il n’existe aucun moyen de déterminer quand une application a fini d’utiliser l’objet SmtpClient et qu’elle doit être nettoyée.

Lorsqu’une session SMTP est terminée et que le client souhaite arrêter la connexion, il doit envoyer un message QUIT au serveur pour indiquer qu’il n’a plus de messages à envoyer. Cela permet au serveur de libérer du client les ressources associées à la connexion et de traiter les messages envoyés par le client.

L’appel de la Dispose méthode sur un SmtpClient objet qui exécute une opération asynchrone SendAsync annule l’opération d’envoi comme si la SendAsyncCancel méthode avait été appelée.

La SmtpClient classe n’a pas de Finalize méthode. Par conséquent, une application doit appeler Dispose pour libérer explicitement des ressources.

La Dispose méthode effectue une itération au sein de toutes les connexions établies vers le serveur SMTP spécifié dans la Host propriété et envoie un message QUIT suivi de la fin normale de la connexion TCP. La Dispose méthode libère également les ressources non managées utilisées par et Socket supprime éventuellement les ressources managées.

Appelez la méthode Dispose une fois que vous avez terminé d'utiliser SmtpClient. La méthode Dispose rend le SmtpClient inutilisable. Après avoir appelé Dispose, vous devez libérer toutes les références à afin SmtpClient que le récupérateur de mémoire puisse récupérer la mémoire que le SmtpClient occupait.

Pour plus d’informations, consultez Nettoyage des ressources non managées et Implémentation d’une méthode Dispose.

Notes

Appelez toujours Dispose avant de libérer votre dernière référence à SmtpClient. Sinon, les ressources qu’il utilise ne seront pas libérées afin que le récupérateur de mémoire puisse récupérer la mémoire.

S’applique à