SmtpClient.Dispose Methode

Definitie

Hiermee wordt een QUIT-bericht verzonden naar de SMTP-server, wordt de TCP-verbinding correct beëindigd en worden alle resources vrijgegeven die door het huidige exemplaar van de SmtpClient klasse worden gebruikt.

Overloads

Name Description
Dispose()

Hiermee wordt een QUIT-bericht verzonden naar de SMTP-server, wordt de TCP-verbinding correct beëindigd en worden alle resources vrijgegeven die door het huidige exemplaar van de SmtpClient klasse worden gebruikt.

Dispose(Boolean)

Hiermee wordt een QUIT-bericht verzonden naar de SMTP-server, wordt de TCP-verbinding zonder problemen beëindigd, worden alle resources die door het huidige exemplaar van de SmtpClient klasse worden gebruikt, vrijgegeven en worden de beheerde resources optioneel verwijderd.

Opmerkingen

De verbinding die door het huidige exemplaar van de SmtpClient klasse met de SMTP-server tot stand is gebracht, kan opnieuw worden gebruikt als een toepassing meerdere berichten naar dezelfde SMTP-server wil verzenden. Dit is met name handig wanneer verificatie of versleuteling wordt gebruikt om een verbinding met de SMTP-server tot stand te brengen. Het proces van verificatie en het tot stand brengen van een TLS-sessie kan dure bewerkingen zijn. Een vereiste voor het opnieuw tot stand brengen van een verbinding voor elk bericht bij het verzenden van een grote hoeveelheid e-mail naar dezelfde SMTP-server kan een aanzienlijke invloed hebben op de prestaties. Er zijn een aantal grote e-mailtoepassingen die e-mailstatusupdates, nieuwsbriefdistributies of e-mailwaarschuwingen verzenden. Veel e-mailclienttoepassingen ondersteunen ook een off-line modus, waar gebruikers veel e-mailberichten kunnen opstellen die later worden verzonden wanneer er een verbinding met de SMTP-server tot stand is gebracht. Het is gebruikelijk dat een e-mailclient alle SMTP-berichten verzendt naar een specifieke SMTP-server (geleverd door de internetprovider) die deze e-mail vervolgens doorstuurt naar andere SMTP-servers.

De SmtpClient klasse-implementatie groepeert SMTP-verbindingen, zodat de overhead van het opnieuw tot stand brengen van een verbinding voor elk bericht naar dezelfde server kan voorkomen. Een toepassing kan hetzelfde SmtpClient object opnieuw gebruiken om veel verschillende e-mailberichten naar dezelfde SMTP-server en naar veel verschillende SMTP-servers te verzenden. Als gevolg hiervan is er geen manier om te bepalen wanneer een toepassing klaar is met het SmtpClient object en moet het worden opgeschoond.

Wanneer een SMTP-sessie is voltooid en de client de verbinding wil beëindigen, moet er een AFSLUITEN-bericht naar de server worden verzonden om aan te geven dat er geen berichten meer moeten worden verzonden. Hierdoor kan de server resources vrijmaken die zijn gekoppeld aan de verbinding vanaf de client en de berichten verwerken die door de client zijn verzonden.

De Dispose methoden doorlopen alle tot stand gebrachte verbindingen en verzenden een QUIT-bericht naar elke SMTP-server, gevolgd door de TCP-verbinding te beëindigen. Met deze methoden worden ook de niet-beheerde resources uitgebracht die worden gebruikt door de Socket beheerde resources en eventueel worden verwijderd.

Dispose()

Hiermee wordt een QUIT-bericht verzonden naar de SMTP-server, wordt de TCP-verbinding correct beëindigd en worden alle resources vrijgegeven die door het huidige exemplaar van de SmtpClient klasse worden gebruikt.

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

Implementeringen

Opmerkingen

De verbinding die door het huidige exemplaar van de SmtpClient klasse met de SMTP-server tot stand is gebracht, kan opnieuw worden gebruikt als een toepassing meerdere berichten naar dezelfde SMTP-server wil verzenden. Dit is met name handig wanneer verificatie of versleuteling wordt gebruikt om een verbinding met de SMTP-server tot stand te brengen. Het proces van verificatie en het tot stand brengen van een TLS-sessie kan dure bewerkingen zijn. Een vereiste voor het opnieuw tot stand brengen van een verbinding voor elk bericht bij het verzenden van een grote hoeveelheid e-mail naar dezelfde SMTP-server kan een aanzienlijke invloed hebben op de prestaties. Er zijn een aantal grote e-mailtoepassingen die e-mailstatusupdates, nieuwsbriefdistributies of e-mailwaarschuwingen verzenden. Veel e-mailclienttoepassingen ondersteunen ook een off-line modus, waar gebruikers veel e-mailberichten kunnen opstellen die later worden verzonden wanneer er een verbinding met de SMTP-server tot stand is gebracht. Het is gebruikelijk dat een e-mailclient alle SMTP-berichten verzendt naar een specifieke SMTP-server (geleverd door de internetprovider) die deze e-mail vervolgens doorstuurt naar andere SMTP-servers.

De SmtpClient klasse-implementatie groepeert SMTP-verbindingen, zodat de overhead van het opnieuw tot stand brengen van een verbinding voor elk bericht naar dezelfde server kan voorkomen. Een toepassing kan hetzelfde SmtpClient object opnieuw gebruiken om veel verschillende e-mailberichten naar dezelfde SMTP-server en naar veel verschillende SMTP-servers te verzenden. Als gevolg hiervan is er geen manier om te bepalen wanneer een toepassing klaar is met het SmtpClient object en moet het worden opgeschoond.

Wanneer een SMTP-sessie is voltooid en de client de verbinding wil beëindigen, moet er een AFSLUITEN-bericht naar de server worden verzonden om aan te geven dat er geen berichten meer moeten worden verzonden. Hierdoor kan de server resources vrijmaken die zijn gekoppeld aan de verbinding vanaf de client en de berichten verwerken die door de client zijn verzonden.

Als u de Dispose methode aanroept voor een SmtpClient object dat een asynchrone SendAsync bewerking uitvoert, wordt de verzendbewerking geannuleerd alsof de SendAsyncCancel methode is aangeroepen.

De SmtpClient klasse heeft geen Finalize methode. Een toepassing moet dus aanroepen Dispose om resources expliciet vrij te maken.

De Dispose methode doorloopt alle tot stand gebrachte verbindingen met de SMTP-server die is opgegeven in de Host eigenschap en verzendt een afsluitend bericht, gevolgd door de TCP-verbinding te beëindigen. Met Dispose de methode worden ook de niet-beheerde resources vrijgegeven die door de onderliggende Socketresources worden gebruikt.

Bel Dispose wanneer u klaar bent met het gebruik van de SmtpClient. De Dispose methode laat de SmtpClient status Onbruikbaar. Nadat u hebt aangeroepen Dispose, moet u alle verwijzingen naar de SmtpClient vrijgegeven zodat de garbagecollector het geheugen kan vrijmaken dat de SmtpClient bezette.

Zie Onbeheerde resources opschonen en een verwijderingsmethode implementeren voor meer informatie.

Note

Dispose Bel altijd voordat u uw laatste verwijzing naar de SmtpClient. Anders worden de resources die het gebruikt, niet vrijgemaakt, zodat de garbagecollector het geheugen kan vrijmaken.

Van toepassing op

Dispose(Boolean)

Hiermee wordt een QUIT-bericht verzonden naar de SMTP-server, wordt de TCP-verbinding zonder problemen beëindigd, worden alle resources die door het huidige exemplaar van de SmtpClient klasse worden gebruikt, vrijgegeven en worden de beheerde resources optioneel verwijderd.

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)

Parameters

disposing
Boolean

true om zowel beheerde als onbeheerde resources vrij te geven; false om alleen onbeheerde resources vrij te geven.

Opmerkingen

De verbinding die door het huidige exemplaar van de SmtpClient klasse met de SMTP-server tot stand is gebracht, kan opnieuw worden gebruikt als een toepassing meerdere berichten naar dezelfde SMTP-server wil verzenden. Dit is met name handig wanneer verificatie of versleuteling wordt gebruikt om een verbinding met de SMTP-server tot stand te brengen. Het proces van verificatie en het tot stand brengen van een TLS-sessie kan dure bewerkingen zijn. Een vereiste voor het opnieuw tot stand brengen van een verbinding voor elk bericht bij het verzenden van een grote hoeveelheid e-mail naar dezelfde SMTP-server kan een aanzienlijke invloed hebben op de prestaties. Er zijn een aantal grote e-mailtoepassingen die e-mailstatusupdates, nieuwsbriefdistributies of e-mailwaarschuwingen verzenden. Veel e-mailclienttoepassingen ondersteunen ook een off-line modus, waar gebruikers veel e-mailberichten kunnen opstellen die later worden verzonden wanneer er een verbinding met de SMTP-server tot stand is gebracht. Het is gebruikelijk dat een e-mailclient alle SMTP-berichten verzendt naar een specifieke SMTP-server (geleverd door de internetprovider) die deze e-mail vervolgens doorstuurt naar andere SMTP-servers.

De SmtpClient klasse-implementatie groepeert SMTP-verbindingen, zodat de overhead van het opnieuw tot stand brengen van een verbinding voor elk bericht naar dezelfde server kan voorkomen. Een toepassing kan hetzelfde SmtpClient object opnieuw gebruiken om veel verschillende e-mailberichten naar dezelfde SMTP-server en naar veel verschillende SMTP-servers te verzenden. Als gevolg hiervan is er geen manier om te bepalen wanneer een toepassing klaar is met het SmtpClient object en moet het worden opgeschoond.

Wanneer een SMTP-sessie is voltooid en de client de verbinding wil beëindigen, moet er een AFSLUITEN-bericht naar de server worden verzonden om aan te geven dat er geen berichten meer moeten worden verzonden. Hierdoor kan de server resources vrijmaken die zijn gekoppeld aan de verbinding vanaf de client en de berichten verwerken die door de client zijn verzonden.

Als u de Dispose methode aanroept voor een SmtpClient object dat een asynchrone SendAsync bewerking uitvoert, wordt de verzendbewerking geannuleerd alsof de SendAsyncCancel methode is aangeroepen.

De SmtpClient klasse heeft geen Finalize methode. Een toepassing moet dus aanroepen Dispose om resources expliciet vrij te maken.

De Dispose methode doorloopt alle tot stand gebrachte verbindingen met de SMTP-server die is opgegeven in de Host eigenschap en verzendt een afsluitend bericht, gevolgd door de TCP-verbinding te beëindigen. Met Dispose de methode worden ook de niet-beheerde resources vrijgegeven die door de Socket beheerde resources worden gebruikt en optioneel worden verwijderd.

Bel Dispose wanneer u klaar bent met het gebruik van de SmtpClient. De Dispose methode laat de SmtpClient status Onbruikbaar. Nadat u hebt aangeroepen Dispose, moet u alle verwijzingen naar de SmtpClient vrijgegeven zodat de garbagecollector het geheugen kan vrijmaken dat de SmtpClient bezette.

Zie Onbeheerde resources opschonen en een verwijderingsmethode implementeren voor meer informatie.

Note

Dispose Bel altijd voordat u uw laatste verwijzing naar de SmtpClient. Anders worden de resources die het gebruikt, niet vrijgemaakt, zodat de garbagecollector het geheugen kan vrijmaken.

Van toepassing op