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 verbindung, die von der aktuellen Instanz der SmtpClient Klasse mit dem SMTP-Server eingerichtet wurde, kann erneut 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. Eine Anforderung zum erneuten Herstellen einer Verbindung für jede Nachricht beim Senden einer großen Anzahl von E-Mails an denselben SMTP-Server könnte erhebliche Auswirkungen auf die Leistung haben. Es gibt eine Reihe von E-Mail-Anwendungen mit hohem Volumen, die E-Mail-Statusaktualisierungen, 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 (bereitgestellt vom Internetdienstanbieter) sendet, der diese E-Mail dann an andere SMTP-Server weiterleitet.

Die SmtpClient Klassenimplementierungspools SMTP-Verbindungen, sodass der Aufwand für die erneute Einrichtung 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 fertig ist, und es sollte bereinigt werden.

Wenn eine SMTP-Sitzung abgeschlossen ist und der Client die Verbindung beenden möchte, muss er eine QUIT-Nachricht an den Server senden, um anzugeben, dass es keine weiteren Nachrichten zum Senden hat. Auf diese Weise kann der Server Ressourcen freizugeben, die der Verbindung vom Client zugeordnet sind, und die Nachrichten verarbeiten, die vom Client gesendet wurden.

Die Dispose Methoden durchlaufen alle etablierten Verbindungen und senden eine QUIT-Nachricht an jeden SMTP-Server, gefolgt von der ordnungsgemäßen Beendigung der TCP-Verbindung. Mit diesen Methoden werden auch die nicht verwalteten Ressourcen freigegeben, die von den Socket verwalteten Ressourcen verwendet und optional entsorgt werden.

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.

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

Implementiert

Hinweise

Die verbindung, die von der aktuellen Instanz der SmtpClient Klasse mit dem SMTP-Server eingerichtet wurde, kann erneut 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. Eine Anforderung zum erneuten Herstellen einer Verbindung für jede Nachricht beim Senden einer großen Anzahl von E-Mails an denselben SMTP-Server könnte erhebliche Auswirkungen auf die Leistung haben. Es gibt eine Reihe von E-Mail-Anwendungen mit hohem Volumen, die E-Mail-Statusaktualisierungen, 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 (bereitgestellt vom Internetdienstanbieter) sendet, der diese E-Mail dann an andere SMTP-Server weiterleitet.

Die SmtpClient Klassenimplementierungspools SMTP-Verbindungen, sodass der Aufwand für die erneute Einrichtung 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 fertig ist, und es sollte bereinigt werden.

Wenn eine SMTP-Sitzung abgeschlossen ist und der Client die Verbindung beenden möchte, muss er eine QUIT-Nachricht an den Server senden, um anzugeben, dass es keine weiteren Nachrichten zum Senden hat. Auf diese Weise kann der Server Ressourcen freizugeben, die der Verbindung vom Client zugeordnet sind, und die Nachrichten verarbeiten, die vom Client gesendet wurden.

Wenn Sie die Dispose Methode für ein SmtpClient Objekt aufrufen, das einen asynchronen SendAsync Vorgang ausführt, wird der Sendevorgang abgebrochen, als ob die SendAsyncCancel Methode aufgerufen wurde.

Die SmtpClient Klasse hat keine Finalize Methode. Daher muss eine Anwendung aufrufen Dispose , um Ressourcen explizit freizugeben.

Die Dispose Methode durchläuft alle etablierten Verbindungen mit dem smtp-Server, der in der Host Eigenschaft angegeben ist, und sendet eine QUIT-Nachricht gefolgt von der ordnungsgemäßen Beendigung der TCP-Verbindung. Die Dispose Methode gibt auch die nicht verwalteten Ressourcen frei, die von der zugrunde liegenden Socket.

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 die SmtpClient Freigabe freigeben, damit der Garbage Collector den Speicher zurückfordern kann, den sie SmtpClient belegt hat.

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 Speicher zurückfordern kann.

Gilt für

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.

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 verbindung, die von der aktuellen Instanz der SmtpClient Klasse mit dem SMTP-Server eingerichtet wurde, kann erneut 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. Eine Anforderung zum erneuten Herstellen einer Verbindung für jede Nachricht beim Senden einer großen Anzahl von E-Mails an denselben SMTP-Server könnte erhebliche Auswirkungen auf die Leistung haben. Es gibt eine Reihe von E-Mail-Anwendungen mit hohem Volumen, die E-Mail-Statusaktualisierungen, 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 (bereitgestellt vom Internetdienstanbieter) sendet, der diese E-Mail dann an andere SMTP-Server weiterleitet.

Die SmtpClient Klassenimplementierungspools SMTP-Verbindungen, sodass der Aufwand für die erneute Einrichtung 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 fertig ist, und es sollte bereinigt werden.

Wenn eine SMTP-Sitzung abgeschlossen ist und der Client die Verbindung beenden möchte, muss er eine QUIT-Nachricht an den Server senden, um anzugeben, dass es keine weiteren Nachrichten zum Senden hat. Auf diese Weise kann der Server Ressourcen freizugeben, die der Verbindung vom Client zugeordnet sind, und die Nachrichten verarbeiten, die vom Client gesendet wurden.

Wenn Sie die Dispose Methode für ein SmtpClient Objekt aufrufen, das einen asynchronen SendAsync Vorgang ausführt, wird der Sendevorgang abgebrochen, als ob die SendAsyncCancel Methode aufgerufen wurde.

Die SmtpClient Klasse hat keine Finalize Methode. Daher muss eine Anwendung aufrufen Dispose , um Ressourcen explizit freizugeben.

Die Dispose Methode durchläuft alle etablierten Verbindungen mit dem smtp-Server, der in der Host Eigenschaft angegeben ist, und sendet eine QUIT-Nachricht gefolgt von der ordnungsgemäßen Beendigung 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 die SmtpClient Freigabe freigeben, damit der Garbage Collector den Speicher zurückfordern kann, den sie SmtpClient belegt hat.

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 Speicher zurückfordern kann.

Gilt für