SmtpClient.Dispose Methode

Definition

Sendet eine QUIT-Meldung an den SMTP-Server, beendet die TCP-Verbindung ordnungsgemäß und gibt alle Ressourcen frei, die von der aktuellen Instanz der SmtpClient-Klasse verwendet werden.

Überlädt

Dispose()

Sendet eine QUIT-Meldung an den SMTP-Server, beendet die TCP-Verbindung ordnungsgemäß und gibt alle Ressourcen frei, die von der aktuellen Instanz der SmtpClient-Klasse verwendet werden.

Dispose(Boolean)

Sendet eine QUIT-Meldung an den SMTP-Server, beendet die TCP-Verbindung ordnungsgemäß, gibt alle Ressourcen frei, die von der aktuellen Instanz der SmtpClient-Klasse verwendet werden, und gibt optional die verwalteten Ressourcen frei.

Hinweise

Die vom aktuellen instance der Klasse hergestellte Verbindung mit dem SmtpClient SMTP-Server kann wieder verwendet werden, wenn eine Anwendung mehrere Nachrichten an denselben SMTP-Server senden möchte. Dies ist besonders nützlich, wenn Authentifizierung oder Verschlüsselung verwendet wird, um eine Verbindung mit dem SMTP-Server herzustellen. Der Prozess der Authentifizierung und Einrichtung einer TLS-Sitzung kann kostspielige Vorgänge sein. Die Anforderung, beim Senden einer großen Menge von E-Mails an denselben SMTP-Server eine Verbindung für jede Nachricht wie herzustellen, kann erhebliche Auswirkungen auf die Leistung haben. Es gibt eine Reihe von E-Mail-Anwendungen mit hohem Volumen, die E-Mails status Updates, Newsletterverteilungen oder E-Mail-Benachrichtigungen senden. Außerdem unterstützen viele E-Mail-Clientanwendungen einen Offlinemodus, in dem Benutzer viele E-Mail-Nachrichten verfassen können, die später gesendet werden, wenn eine Verbindung mit dem SMTP-Server hergestellt wird. Es ist typisch, dass ein E-Mail-Client alle SMTP-Nachrichten an einen bestimmten SMTP-Server (vom Internetdienstanbieter bereitgestellt) sendet, der diese E-Mail dann an andere SMTP-Server weiterleitet.

Die SmtpClient Klassenimplementierung poolt SMTP-Verbindungen, sodass der Mehraufwand beim erneuten Herstellen einer Verbindung für jede Nachricht mit demselben Server vermieden werden kann. Eine Anwendung kann dasselbe SmtpClient Objekt erneut verwenden, um viele verschiedene E-Mails an denselben SMTP-Server und an viele verschiedene SMTP-Server zu senden. Daher gibt es keine Möglichkeit, zu bestimmen, wann eine Anwendung mit dem SmtpClient Objekt abgeschlossen ist und bereinigt werden sollte.

Wenn eine SMTP-Sitzung beendet ist und der Client die Verbindung beenden möchte, muss er eine QUIT-Nachricht an den Server senden, um anzugeben, dass keine weiteren Nachrichten gesendet werden. Dadurch kann der Server Ressourcen freigeben, die der Verbindung vom Client zugeordnet sind, und die vom Client gesendeten Nachrichten verarbeiten.

Die Dispose Methoden durchlaufen alle eingerichteten Verbindungen und senden eine QUIT-Nachricht an jeden SMTP-Server, gefolgt vom ordnungsgemäßen Beenden der TCP-Verbindung. Diese Methoden geben auch die nicht verwalteten Ressourcen frei, die von dem Socket verwendet werden, und entsorgen optional die verwalteten Ressourcen.

Dispose()

Quelle:
SmtpClient.cs
Quelle:
SmtpClient.cs
Quelle:
SmtpClient.cs

Sendet eine QUIT-Meldung an den SMTP-Server, beendet die TCP-Verbindung ordnungsgemäß und gibt alle Ressourcen frei, die von der aktuellen Instanz der SmtpClient-Klasse verwendet werden.

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

Implementiert

Hinweise

Die vom aktuellen instance der Klasse hergestellte Verbindung mit dem SmtpClient SMTP-Server kann wieder verwendet werden, wenn eine Anwendung mehrere Nachrichten an denselben SMTP-Server senden möchte. Dies ist besonders nützlich, wenn Authentifizierung oder Verschlüsselung verwendet wird, um eine Verbindung mit dem SMTP-Server herzustellen. Der Prozess der Authentifizierung und Einrichtung einer TLS-Sitzung kann kostspielige Vorgänge sein. Die Anforderung, beim Senden einer großen Menge von E-Mails an denselben SMTP-Server eine Verbindung für jede Nachricht wie herzustellen, kann erhebliche Auswirkungen auf die Leistung haben. Es gibt eine Reihe von E-Mail-Anwendungen mit hohem Volumen, die E-Mails status Updates, Newsletterverteilungen oder E-Mail-Benachrichtigungen senden. Außerdem unterstützen viele E-Mail-Clientanwendungen einen Offlinemodus, in dem Benutzer viele E-Mail-Nachrichten verfassen können, die später gesendet werden, wenn eine Verbindung mit dem SMTP-Server hergestellt wird. Es ist typisch, dass ein E-Mail-Client alle SMTP-Nachrichten an einen bestimmten SMTP-Server (vom Internetdienstanbieter bereitgestellt) sendet, der diese E-Mail dann an andere SMTP-Server weiterleitet.

Die SmtpClient Klassenimplementierung poolt SMTP-Verbindungen, sodass der Mehraufwand beim erneuten Herstellen einer Verbindung für jede Nachricht mit demselben Server vermieden werden kann. Eine Anwendung kann dasselbe SmtpClient Objekt erneut verwenden, um viele verschiedene E-Mails an denselben SMTP-Server und an viele verschiedene SMTP-Server zu senden. Daher gibt es keine Möglichkeit, zu bestimmen, wann eine Anwendung mit dem SmtpClient Objekt abgeschlossen ist und bereinigt werden sollte.

Wenn eine SMTP-Sitzung beendet ist und der Client die Verbindung beenden möchte, muss er eine QUIT-Nachricht an den Server senden, um anzugeben, dass keine weiteren Nachrichten gesendet werden. Dadurch kann der Server Ressourcen freigeben, die der Verbindung vom Client zugeordnet sind, und die vom Client gesendeten Nachrichten verarbeiten.

Beim Aufrufen der Dispose -Methode für ein SmtpClient Objekt, das einen asynchronen SendAsync Vorgang ausführt, wird der Sendevorgang abgebrochen, als ob die SendAsyncCancel Methode aufgerufen worden wäre.

Die SmtpClient -Klasse verfügt über keine Finalize Methode. Daher muss eine Anwendung aufrufen Dispose , um Ressourcen explizit freizugeben.

Die Dispose -Methode durchläuft alle eingerichteten Verbindungen mit dem in der Host -Eigenschaft angegebenen SMTP-Server und sendet eine QUIT-Nachricht, gefolgt vom ordnungsgemäßen Beenden der TCP-Verbindung. Die Dispose -Methode gibt auch die nicht verwalteten Ressourcen frei, die vom zugrunde liegenden Socketverwendet werden.

Rufen Sie Dispose auf, wenn Sie SmtpClient nicht mehr benötigen. Die Dispose-Methode bewirkt, dass SmtpClient nicht mehr verwendet werden kann. Nachdem Sie aufgerufen Disposehaben, müssen Sie alle Verweise auf das SmtpClient freigeben, damit der Garbage Collector den Arbeitsspeicher, den der SmtpClient belegt hat, zurückgewinnen kann.

Weitere Informationen finden Sie unter Bereinigen nicht verwalteter Ressourcen und Implementieren einer Dispose-Methode.

Hinweis

Rufen Sie immer Dispose auf, bevor Sie den letzten Verweis auf das SmtpClient freigeben. Andernfalls werden die verwendeten Ressourcen nicht freigegeben, sodass der Garbage Collector den Arbeitsspeicher wieder freigeben kann.

Gilt für:

Dispose(Boolean)

Quelle:
SmtpClient.cs
Quelle:
SmtpClient.cs
Quelle:
SmtpClient.cs

Sendet eine QUIT-Meldung an den SMTP-Server, beendet die TCP-Verbindung ordnungsgemäß, gibt alle Ressourcen frei, die von der aktuellen Instanz der SmtpClient-Klasse verwendet werden, und gibt optional die verwalteten Ressourcen frei.

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)

Parameter

disposing
Boolean

true, um sowohl verwaltete als auch nicht verwaltete Ressourcen freizugeben. false, wenn ausschließlich nicht verwaltete Ressourcen freigegeben werden sollen.

Hinweise

Die vom aktuellen instance der Klasse hergestellte Verbindung mit dem SmtpClient SMTP-Server kann wieder verwendet werden, wenn eine Anwendung mehrere Nachrichten an denselben SMTP-Server senden möchte. Dies ist besonders nützlich, wenn Authentifizierung oder Verschlüsselung verwendet wird, um eine Verbindung mit dem SMTP-Server herzustellen. Der Prozess der Authentifizierung und Einrichtung einer TLS-Sitzung kann kostspielige Vorgänge sein. Die Anforderung, beim Senden einer großen Menge von E-Mails an denselben SMTP-Server eine Verbindung für jede Nachricht wie herzustellen, kann erhebliche Auswirkungen auf die Leistung haben. Es gibt eine Reihe von E-Mail-Anwendungen mit hohem Volumen, die E-Mails status Updates, Newsletterverteilungen oder E-Mail-Benachrichtigungen senden. Außerdem unterstützen viele E-Mail-Clientanwendungen einen Offlinemodus, in dem Benutzer viele E-Mail-Nachrichten verfassen können, die später gesendet werden, wenn eine Verbindung mit dem SMTP-Server hergestellt wird. Es ist typisch, dass ein E-Mail-Client alle SMTP-Nachrichten an einen bestimmten SMTP-Server (vom Internetdienstanbieter bereitgestellt) sendet, der diese E-Mail dann an andere SMTP-Server weiterleitet.

Die SmtpClient Klassenimplementierung poolt SMTP-Verbindungen, sodass der Mehraufwand beim erneuten Herstellen einer Verbindung für jede Nachricht mit demselben Server vermieden werden kann. Eine Anwendung kann dasselbe SmtpClient Objekt erneut verwenden, um viele verschiedene E-Mails an denselben SMTP-Server und an viele verschiedene SMTP-Server zu senden. Daher gibt es keine Möglichkeit, zu bestimmen, wann eine Anwendung mit dem SmtpClient Objekt abgeschlossen ist und bereinigt werden sollte.

Wenn eine SMTP-Sitzung beendet ist und der Client die Verbindung beenden möchte, muss er eine QUIT-Nachricht an den Server senden, um anzugeben, dass keine weiteren Nachrichten gesendet werden. Dadurch kann der Server Ressourcen freigeben, die der Verbindung vom Client zugeordnet sind, und die vom Client gesendeten Nachrichten verarbeiten.

Beim Aufrufen der Dispose -Methode für ein SmtpClient Objekt, das einen asynchronen SendAsync Vorgang ausführt, wird der Sendevorgang abgebrochen, als ob die SendAsyncCancel Methode aufgerufen worden wäre.

Die SmtpClient -Klasse verfügt über keine Finalize Methode. Daher muss eine Anwendung aufrufen Dispose , um Ressourcen explizit freizugeben.

Die Dispose -Methode durchläuft alle eingerichteten Verbindungen mit dem in der Host -Eigenschaft angegebenen SMTP-Server und sendet eine QUIT-Nachricht, gefolgt vom ordnungsgemäßen Beenden der TCP-Verbindung. Die Dispose Methode auch frei, die vom verwendeten nicht verwalteten Ressourcen der Socket und verwirft optional auch die verwalteten Ressourcen.

Rufen Sie Dispose auf, wenn Sie SmtpClient nicht mehr benötigen. Die Dispose-Methode bewirkt, dass SmtpClient nicht mehr verwendet werden kann. Nachdem Sie aufgerufen Disposehaben, müssen Sie alle Verweise auf das SmtpClient freigeben, damit der Garbage Collector den Arbeitsspeicher, den der SmtpClient belegt hat, zurückgewinnen kann.

Weitere Informationen finden Sie unter Bereinigen nicht verwalteter Ressourcen und Implementieren einer Dispose-Methode.

Hinweis

Rufen Sie immer Dispose auf, bevor Sie den letzten Verweis auf das SmtpClient freigeben. Andernfalls werden die verwendeten Ressourcen nicht freigegeben, sodass der Garbage Collector den Arbeitsspeicher wieder freigeben kann.

Gilt für: