Compartilhar via


SmtpClient.Dispose Método

Definição

Envia uma mensagem QUIT para o servidor SMTP, normalmente termina a conexão TCP e libera todos os recursos usados pela instância atual da classe SmtpClient.

Sobrecargas

Dispose()

Envia uma mensagem QUIT para o servidor SMTP, normalmente termina a conexão TCP e libera todos os recursos usados pela instância atual da classe SmtpClient.

Dispose(Boolean)

Envia uma mensagem QUIT para o servidor SMTP, normalmente termina a conexão TCP, libera todos os recursos usados pela instância atual da classe SmtpClient e, opcionalmente, descarta os recursos gerenciados.

Comentários

A conexão estabelecida pela instância atual da SmtpClient classe com o servidor SMTP pode ser reutilizado se um aplicativo quiser enviar várias mensagens para o mesmo servidor SMTP. Isso é particularmente útil quando a autenticação ou a criptografia são usadas estabelecem uma conexão com o servidor SMTP. O processo de autenticação e estabelecimento de uma sessão TLS pode ser operações caras. Um requisito para restabelecer uma conexão para cada mensagem ao enviar uma grande quantidade de email para o mesmo servidor SMTP pode ter um impacto significativo no desempenho. Há vários aplicativos de email de alto volume que enviam emails status atualizações, distribuições de boletins informativos ou alertas de email. Além disso, muitos aplicativos cliente de email dão suporte a um modo off-line em que os usuários podem compor muitas mensagens de email que são enviadas posteriormente quando uma conexão com o servidor SMTP é estabelecida. É comum um cliente de email enviar todas as mensagens SMTP para um servidor SMTP específico (fornecido pelo provedor de serviços de Internet) que encaminha esse email para outros servidores SMTP.

A SmtpClient classe de implementação agrupa conexões SMTP para evitar a sobrecarga de restabelecer uma conexão para cada mensagem para o mesmo servidor. Um aplicativo pode reutilizar o mesmo SmtpClient objeto para enviar muitos emails diferentes para o mesmo servidor SMTP e para muitos servidores SMTP diferentes. Como resultado, não há como determinar quando um aplicativo foi concluído usando o SmtpClient objeto e ele deve ser limpo.

Quando uma sessão SMTP é concluída e o cliente deseja encerrar a conexão, ele deve enviar uma mensagem QUIT para o servidor para indicar que ele não tem mais mensagens para enviar. Isso permite que o servidor libere recursos associados à conexão do cliente e processe as mensagens que foram enviadas pelo cliente.

Os Dispose métodos iteram por todas as conexões estabelecidas e enviam uma mensagem QUIT para cada servidor SMTP, seguidos por encerrar normalmente a conexão TCP. Esses métodos também liberam os recursos não gerenciados usados pelo Socket e, opcionalmente, descartam os recursos gerenciados.

Dispose()

Origem:
SmtpClient.cs
Origem:
SmtpClient.cs
Origem:
SmtpClient.cs

Envia uma mensagem QUIT para o servidor SMTP, normalmente termina a conexão TCP e libera todos os recursos usados pela instância atual da classe SmtpClient.

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

Implementações

Comentários

A conexão estabelecida pela instância atual da SmtpClient classe com o servidor SMTP pode ser reutilizado se um aplicativo quiser enviar várias mensagens para o mesmo servidor SMTP. Isso é particularmente útil quando a autenticação ou a criptografia são usadas estabelecem uma conexão com o servidor SMTP. O processo de autenticação e estabelecimento de uma sessão TLS pode ser operações caras. Um requisito para restabelecer uma conexão para cada mensagem ao enviar uma grande quantidade de email para o mesmo servidor SMTP pode ter um impacto significativo no desempenho. Há vários aplicativos de email de alto volume que enviam emails status atualizações, distribuições de boletins informativos ou alertas de email. Além disso, muitos aplicativos cliente de email dão suporte a um modo off-line em que os usuários podem compor muitas mensagens de email que são enviadas posteriormente quando uma conexão com o servidor SMTP é estabelecida. É comum um cliente de email enviar todas as mensagens SMTP para um servidor SMTP específico (fornecido pelo provedor de serviços de Internet) que encaminha esse email para outros servidores SMTP.

A SmtpClient classe de implementação agrupa conexões SMTP para evitar a sobrecarga de restabelecer uma conexão para cada mensagem para o mesmo servidor. Um aplicativo pode reutilizar o mesmo SmtpClient objeto para enviar muitos emails diferentes para o mesmo servidor SMTP e para muitos servidores SMTP diferentes. Como resultado, não há como determinar quando um aplicativo foi concluído usando o SmtpClient objeto e ele deve ser limpo.

Quando uma sessão SMTP é concluída e o cliente deseja encerrar a conexão, ele deve enviar uma mensagem QUIT para o servidor para indicar que ele não tem mais mensagens para enviar. Isso permite que o servidor libere recursos associados à conexão do cliente e processe as mensagens que foram enviadas pelo cliente.

Chamar o Dispose método em um SmtpClient objeto que está executando uma operação assíncrona SendAsync cancelará a operação de envio como se o SendAsyncCancel método tivesse sido chamado.

A SmtpClient classe não tem nenhum Finalize método. Portanto, um aplicativo deve chamar Dispose para liberar explicitamente os recursos.

O Dispose método itera por meio de todas as conexões estabelecidas com o servidor SMTP especificado na Host propriedade e envia uma mensagem QUIT seguida pelo término normal da conexão TCP. O Dispose método também libera os recursos não gerenciados usados pelo subjacente Socket.

Chame Dispose quando terminar de usar o SmtpClient. O Dispose método deixa o SmtpClient em um estado inutilizável. Depois de chamar Dispose, você deve liberar todas as referências para o SmtpClient para que o coletor de lixo possa recuperar a memória que o SmtpClient estava ocupando.

Para obter mais informações, consulte Limpando recursos não gerenciados e implementando um método dispose.

Observação

Sempre chame Dispose antes de liberar sua última referência ao SmtpClient. Caso contrário, os recursos que ele está usando não serão liberados para que o coletor de lixo possa recuperar a memória.

Aplica-se a

Dispose(Boolean)

Origem:
SmtpClient.cs
Origem:
SmtpClient.cs
Origem:
SmtpClient.cs

Envia uma mensagem QUIT para o servidor SMTP, normalmente termina a conexão TCP, libera todos os recursos usados pela instância atual da classe SmtpClient e, opcionalmente, descarta os recursos gerenciados.

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)

Parâmetros

disposing
Boolean

true para liberar recursos gerenciados e não gerenciados; false para liberar apenas recursos não gerenciados.

Comentários

A conexão estabelecida pela instância atual da SmtpClient classe com o servidor SMTP pode ser reutilizado se um aplicativo quiser enviar várias mensagens para o mesmo servidor SMTP. Isso é particularmente útil quando a autenticação ou a criptografia são usadas estabelecem uma conexão com o servidor SMTP. O processo de autenticação e estabelecimento de uma sessão TLS pode ser operações caras. Um requisito para restabelecer uma conexão para cada mensagem ao enviar uma grande quantidade de email para o mesmo servidor SMTP pode ter um impacto significativo no desempenho. Há vários aplicativos de email de alto volume que enviam emails status atualizações, distribuições de boletins informativos ou alertas de email. Além disso, muitos aplicativos cliente de email dão suporte a um modo off-line em que os usuários podem compor muitas mensagens de email que são enviadas posteriormente quando uma conexão com o servidor SMTP é estabelecida. É comum um cliente de email enviar todas as mensagens SMTP para um servidor SMTP específico (fornecido pelo provedor de serviços de Internet) que encaminha esse email para outros servidores SMTP.

A SmtpClient classe de implementação agrupa conexões SMTP para evitar a sobrecarga de restabelecer uma conexão para cada mensagem para o mesmo servidor. Um aplicativo pode reutilizar o mesmo SmtpClient objeto para enviar muitos emails diferentes para o mesmo servidor SMTP e para muitos servidores SMTP diferentes. Como resultado, não há como determinar quando um aplicativo foi concluído usando o SmtpClient objeto e ele deve ser limpo.

Quando uma sessão SMTP é concluída e o cliente deseja encerrar a conexão, ele deve enviar uma mensagem QUIT para o servidor para indicar que ele não tem mais mensagens para enviar. Isso permite que o servidor libere recursos associados à conexão do cliente e processe as mensagens que foram enviadas pelo cliente.

Chamar o Dispose método em um SmtpClient objeto que está executando uma operação assíncrona SendAsync cancelará a operação de envio como se o SendAsyncCancel método tivesse sido chamado.

A SmtpClient classe não tem nenhum Finalize método. Portanto, um aplicativo deve chamar Dispose para liberar explicitamente os recursos.

O Dispose método itera por meio de todas as conexões estabelecidas com o servidor SMTP especificado na Host propriedade e envia uma mensagem QUIT seguida pelo término normal da conexão TCP. O Dispose método também libera os recursos não gerenciados usados pelo Socket e, opcionalmente, descarta os recursos gerenciados.

Chame Dispose quando terminar de usar o SmtpClient. O Dispose método deixa o SmtpClient em um estado inutilizável. Depois de chamar Dispose, você deve liberar todas as referências para o SmtpClient para que o coletor de lixo possa recuperar a memória que o SmtpClient estava ocupando.

Para obter mais informações, consulte Limpando recursos não gerenciados e implementando um método dispose.

Observação

Sempre chame Dispose antes de liberar sua última referência ao SmtpClient. Caso contrário, os recursos que ele está usando não serão liberados para que o coletor de lixo possa recuperar a memória.

Aplica-se a