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 na server SMTP, řádně ukončí připojení TCP a uvolní všechny prostředky používané aktuální instancí SmtpClient třídy.
Přetížení
| Name | Description |
|---|---|
| Dispose() |
Odešle zprávu QUIT na server 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 k navázání připojení k serveru SMTP používá ověřování nebo šifrování. Proces ověřování a vytvoření 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 řada e-mailových aplikací s velkým objemem, které odesílají aktualizace stavu e-mailu, distribuce bulletinů nebo e-mailové výstrahy. Mnoho e-mailových klientských aplikací podporuje také offline režim, kdy uživatelé mohou vytvářet mnoho e-mailových zpráv, které se posílají později při navázání připojení k serveru SMTP. E-mailový klient obvykle odesílá všechny zprávy SMTP na konkrétní server SMTP (poskytovaný poskytovatelem internetových služeb), který pak tento e-mail předává jiným serverům SMTP.
Implementační SmtpClient třída fondy připojení SMTP, aby se zabránilo režii opětovného navazování připojení pro každou zprávu na stejném 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 pomocí objektu SmtpClient a měla by být vyčištěna.
Po dokončení relace SMTP a klient chce ukončit připojení, musí na server odeslat zprávu QUIT, která indikuje, ž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ázáná připojení a odesílají zprávu QUIT na každý server SMTP, po kterém následuje řádné ukončení připojení TCP. Tyto metody také uvolní nespravované prostředky používané spravovanými Socket prostředky a volitelně je odstraní.
Dispose()
- Zdroj:
- SmtpClient.cs
- Zdroj:
- SmtpClient.cs
- Zdroj:
- SmtpClient.cs
- Zdroj:
- SmtpClient.cs
- Zdroj:
- SmtpClient.cs
Odešle zprávu QUIT na server 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 k navázání připojení k serveru SMTP používá ověřování nebo šifrování. Proces ověřování a vytvoření 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 řada e-mailových aplikací s velkým objemem, které odesílají aktualizace stavu e-mailu, distribuce bulletinů nebo e-mailové výstrahy. Mnoho e-mailových klientských aplikací podporuje také offline režim, kdy uživatelé mohou vytvářet mnoho e-mailových zpráv, které se posílají později při navázání připojení k serveru SMTP. E-mailový klient obvykle odesílá všechny zprávy SMTP na konkrétní server SMTP (poskytovaný poskytovatelem internetových služeb), který pak tento e-mail předává jiným serverům SMTP.
Implementační SmtpClient třída fondy připojení SMTP, aby se zabránilo režii opětovného navazování připojení pro každou zprávu na stejném 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 pomocí objektu SmtpClient a měla by být vyčištěna.
Po dokončení relace SMTP a klient chce ukončit připojení, musí na server odeslat zprávu QUIT, která indikuje, ž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 na SmtpClient objekt, který spouští 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 explicitně uvolnit prostředky.
Metoda Dispose iteruje všechna navázáná připojení k serveru SMTP zadanému ve Host vlastnosti a odešle zprávu QUIT následovanou řádně ukončením připojení TCP. Metoda Dispose také uvolní nespravované prostředky používané podkladovým Socket.
Volání Dispose po dokončení používání funkce SmtpClient. Metoda Dispose ponechá SmtpClient nepoužitelný stav. Po volání Disposeje nutné uvolnit všechny odkazy na, SmtpClient aby systém uvolňování paměti mohl uvolnit paměť, kterou SmtpClient zabírala.
Další informace naleznete v tématu Čištění nespravovaných prostředků a implementace metody Dispose.
Poznámka:
Vždy zavolejte Dispose před uvolněním posledního odkazu na SmtpClient. Jinak prostředky, které používá, nebudou 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
- 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 uvolnění spravovaných i nespravovaných prostředků; false uvolní pouze nespravované 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 k navázání připojení k serveru SMTP používá ověřování nebo šifrování. Proces ověřování a vytvoření 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 řada e-mailových aplikací s velkým objemem, které odesílají aktualizace stavu e-mailu, distribuce bulletinů nebo e-mailové výstrahy. Mnoho e-mailových klientských aplikací podporuje také offline režim, kdy uživatelé mohou vytvářet mnoho e-mailových zpráv, které se posílají později při navázání připojení k serveru SMTP. E-mailový klient obvykle odesílá všechny zprávy SMTP na konkrétní server SMTP (poskytovaný poskytovatelem internetových služeb), který pak tento e-mail předává jiným serverům SMTP.
Implementační SmtpClient třída fondy připojení SMTP, aby se zabránilo režii opětovného navazování připojení pro každou zprávu na stejném 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 pomocí objektu SmtpClient a měla by být vyčištěna.
Po dokončení relace SMTP a klient chce ukončit připojení, musí na server odeslat zprávu QUIT, která indikuje, ž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 na SmtpClient objekt, který spouští 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 explicitně uvolnit prostředky.
Metoda Dispose iteruje všechna navázáná připojení k serveru SMTP zadanému ve Host vlastnosti a odešle zprávu QUIT následovanou řádně ukončením připojení TCP. Metoda Dispose také uvolní nespravované prostředky používané Socket a volitelně odstraní spravované prostředky.
Volání Dispose po dokončení používání funkce SmtpClient. Metoda Dispose ponechá SmtpClient nepoužitelný stav. Po volání Disposeje nutné uvolnit všechny odkazy na, SmtpClient aby systém uvolňování paměti mohl uvolnit paměť, kterou SmtpClient zabírala.
Další informace naleznete v tématu Čištění nespravovaných prostředků a implementace metody Dispose.
Poznámka:
Vždy zavolejte Dispose před uvolněním posledního odkazu na SmtpClient. Jinak prostředky, které používá, nebudou uvolněny, aby systém uvolňování paměti mohl uvolnit paměť.