SmtpClient.Dispose Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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ěť.