Sdílet prostřednictvím


SmtpClient.Dispose Metoda

Definice

Odešle zprávu QUIT serveru SMTP, řádně ukončí připojení TCP a uvolní všechny prostředky používané aktuální instancí SmtpClient třídy.

Přetížení

Dispose()

Odešle zprávu QUIT serveru SMTP, řádně ukončí připojení TCP a uvolní všechny prostředky používané aktuální instancí SmtpClient třídy.

Dispose(Boolean)

Odešle zprávu QUIT serveru SMTP, řádně ukončí připojení TCP, uvolní všechny prostředky používané aktuální instancí SmtpClient třídy a volitelně odstraní spravované prostředky.

Poznámky

Připojení vytvořené aktuální instancí SmtpClient třídy k serveru SMTP může být znovu použito, pokud aplikace chce odeslat více zpráv na stejný server SMTP. To je užitečné zejména v případě, že se používá ověřování nebo šifrování navazují připojení k serveru SMTP. Proces ověřování a navazování relace PROTOKOLU TLS může být nákladný. Požadavek na opětovné navázání připojení pro každou zprávu při odesílání velkého množství e-mailů na stejný server SMTP může mít významný dopad na výkon. Existuje celá řada hromadných e-mailových aplikací, které odesílají e-mailové aktualizace stavu, distribuce bulletinů nebo e-mailová upozornění. Mnoho e-mailových klientských aplikací také podporuje off-line režim, ve kterém uživatelé můžou vytvářet mnoho e-mailových zpráv, které se odesílají později při navázání připojení k serveru SMTP. Je typické, že e-mailový klient odesílá všechny zprávy SMTP na konkrétní server SMTP (poskytovaný poskytovatelem internetových služeb), který pak předá tento e-mail jiným serverům SMTP.

Implementace SmtpClient třídy sdružuje připojení SMTP, aby se zabránilo režii opětovného navazování připojení pro každou zprávu ke stejnému serveru. Aplikace může znovu použít stejný SmtpClient objekt k odesílání mnoha různých e-mailů na stejný server SMTP a na mnoho různých serverů SMTP. V důsledku toho neexistuje způsob, jak určit, kdy je aplikace dokončena s používáním objektu SmtpClient , a měla by se vyčistit.

Když je relace SMTP dokončena a klient chce ukončit připojení, musí odeslat na server zprávu UKONČENÍ, která bude znamenat, že nemá žádné další zprávy k odeslání. To umožňuje serveru uvolnit prostředky přidružené k připojení z klienta a zpracovat zprávy odeslané klientem.

Metody Dispose iterují všechna navázaná připojení a odesílají zprávu QUIT na každý server SMTP a následně řádně ukončí připojení TCP. Tyto metody také uvolní nespravované prostředky používané Socket a volitelně odstraní spravované prostředky.

Dispose()

Zdroj:
SmtpClient.cs
Zdroj:
SmtpClient.cs
Zdroj:
SmtpClient.cs

Odešle zprávu QUIT serveru SMTP, řádně ukončí připojení TCP a uvolní všechny prostředky používané aktuální instancí SmtpClient třídy.

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

Implementuje

Poznámky

Připojení vytvořené aktuální instancí SmtpClient třídy k serveru SMTP může být znovu použito, pokud aplikace chce odeslat více zpráv na stejný server SMTP. To je užitečné zejména v případě, že se používá ověřování nebo šifrování navazují připojení k serveru SMTP. Proces ověřování a navazování relace PROTOKOLU TLS může být nákladný. Požadavek na opětovné navázání připojení pro každou zprávu při odesílání velkého množství e-mailů na stejný server SMTP může mít významný dopad na výkon. Existuje celá řada hromadných e-mailových aplikací, které odesílají e-mailové aktualizace stavu, distribuce bulletinů nebo e-mailová upozornění. Mnoho e-mailových klientských aplikací také podporuje off-line režim, ve kterém uživatelé můžou vytvářet mnoho e-mailových zpráv, které se odesílají později při navázání připojení k serveru SMTP. Je typické, že e-mailový klient odesílá všechny zprávy SMTP na konkrétní server SMTP (poskytovaný poskytovatelem internetových služeb), který pak předá tento e-mail jiným serverům SMTP.

Implementace SmtpClient třídy sdružuje připojení SMTP, aby se zabránilo režii opětovného navazování připojení pro každou zprávu ke stejnému serveru. Aplikace může znovu použít stejný SmtpClient objekt k odesílání mnoha různých e-mailů na stejný server SMTP a na mnoho různých serverů SMTP. V důsledku toho neexistuje způsob, jak určit, kdy je aplikace dokončena s používáním objektu SmtpClient , a měla by se vyčistit.

Když je relace SMTP dokončena a klient chce ukončit připojení, musí odeslat na server zprávu UKONČENÍ, která bude znamenat, že nemá žádné další zprávy k odeslání. To umožňuje serveru uvolnit prostředky přidružené k připojení z klienta a zpracovat zprávy odeslané klientem.

Dispose Volání metody u objektuSmtpClient, který provádí asynchronní SendAsync operaci, zruší operaci odeslání, jako by SendAsyncCancel byla volána metoda.

Třída SmtpClient nemá žádnou Finalize metodu. Aplikace proto musí volat Dispose , aby explicitně uvolnila prostředky.

Metoda Dispose iteruje všechna navázaná připojení k serveru SMTP zadanému Host ve vlastnosti a odešle zprávu QUIT následovanou řádném ukončením připojení TCP. Metoda Dispose také uvolní nespravované prostředky používané podkladovým Socketobjektem .

Až budete hotovi s použitím příkazu , zavolejte Dispose .SmtpClient Metoda Dispose ponechá objekt SmtpClient v nepoužitelném stavu. Po volání Disposemusíte uvolnit všechny odkazy na SmtpClient objekt, aby systém uvolňování paměti mohl uvolnit paměť, kterou SmtpClient zabírala.

Další informace najdete v tématech Čištění nespravovaných prostředků a Implementace metody Dispose.

Poznámka

Dispose Před uvolněním posledního odkazu na SmtpClient. V opačném případě nebudou prostředky, které používá, uvolněny, aby systém uvolňování paměti mohl uvolnit paměť.

Platí pro

Dispose(Boolean)

Zdroj:
SmtpClient.cs
Zdroj:
SmtpClient.cs
Zdroj:
SmtpClient.cs

Odešle zprávu QUIT serveru SMTP, řádně ukončí připojení TCP, uvolní všechny prostředky používané aktuální instancí SmtpClient třídy a volitelně odstraní spravované prostředky.

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)

Parametry

disposing
Boolean

true pro uvolnění spravovaných i nespravovaných prostředků; false k uvolnění pouze nespravovaných prostředků.

Poznámky

Připojení vytvořené aktuální instancí SmtpClient třídy k serveru SMTP může být znovu použito, pokud aplikace chce odeslat více zpráv na stejný server SMTP. To je užitečné zejména v případě, že se používá ověřování nebo šifrování navazují připojení k serveru SMTP. Proces ověřování a navazování relace PROTOKOLU TLS může být nákladný. Požadavek na opětovné navázání připojení pro každou zprávu při odesílání velkého množství e-mailů na stejný server SMTP může mít významný dopad na výkon. Existuje celá řada hromadných e-mailových aplikací, které odesílají e-mailové aktualizace stavu, distribuce bulletinů nebo e-mailová upozornění. Mnoho e-mailových klientských aplikací také podporuje off-line režim, ve kterém uživatelé můžou vytvářet mnoho e-mailových zpráv, které se odesílají později při navázání připojení k serveru SMTP. Je typické, že e-mailový klient odesílá všechny zprávy SMTP na konkrétní server SMTP (poskytovaný poskytovatelem internetových služeb), který pak předá tento e-mail jiným serverům SMTP.

Implementace SmtpClient třídy sdružuje připojení SMTP, aby se zabránilo režii opětovného navazování připojení pro každou zprávu ke stejnému serveru. Aplikace může znovu použít stejný SmtpClient objekt k odesílání mnoha různých e-mailů na stejný server SMTP a na mnoho různých serverů SMTP. V důsledku toho neexistuje způsob, jak určit, kdy je aplikace dokončena s používáním objektu SmtpClient , a měla by se vyčistit.

Když je relace SMTP dokončena a klient chce ukončit připojení, musí odeslat na server zprávu UKONČENÍ, která bude znamenat, že nemá žádné další zprávy k odeslání. To umožňuje serveru uvolnit prostředky přidružené k připojení z klienta a zpracovat zprávy odeslané klientem.

Dispose Volání metody u objektuSmtpClient, který provádí asynchronní SendAsync operaci, zruší operaci odeslání, jako by SendAsyncCancel byla volána metoda.

Třída SmtpClient nemá žádnou Finalize metodu. Aplikace proto musí volat Dispose , aby explicitně uvolnila prostředky.

Metoda Dispose iteruje všechna navázaná připojení k serveru SMTP zadanému Host ve vlastnosti a odešle zprávu QUIT následovanou řádném ukončením připojení TCP. Metoda Dispose také uvolní nespravované prostředky používané Socket a volitelně odstraní spravované prostředky.

Až budete hotovi s použitím příkazu , zavolejte Dispose .SmtpClient Metoda Dispose ponechá objekt SmtpClient v nepoužitelném stavu. Po volání Disposemusíte uvolnit všechny odkazy na SmtpClient objekt, aby systém uvolňování paměti mohl uvolnit paměť, kterou SmtpClient zabírala.

Další informace najdete v tématech Čištění nespravovaných prostředků a Implementace metody Dispose.

Poznámka

Dispose Před uvolněním posledního odkazu na SmtpClient. V opačném případě nebudou prostředky, které používá, uvolněny, aby systém uvolňování paměti mohl uvolnit paměť.

Platí pro