Compartilhar via


SmtpClient.Dispose Método

Definição

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

Sobrecargas

Nome Description
Dispose()

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

Dispose(Boolean)

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

Comentários

A conexão estabelecida pela instância atual da SmtpClient classe com o servidor SMTP poderá 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 para estabelecer 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 atualizações de status de email, 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 implementação de classe 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 é 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 pelo término normal da 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
Origem:
SmtpClient.cs
Origem:
SmtpClient.cs

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

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 poderá 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 para estabelecer 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 atualizações de status de email, 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 implementação de classe 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 é 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 método Finalize . 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.

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

Para obter mais informações, consulte Limpar recursos não gerenciados e implementar um método de descarte.

Observação

Sempre chame Dispose antes de lançar sua última referência para o 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
Origem:
SmtpClient.cs
Origem:
SmtpClient.cs

Envia uma mensagem QUIT para o servidor SMTP, termina normalmente a conexão TCP, libera todos os recursos usados pela instância atual da SmtpClient classe 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 poderá 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 para estabelecer 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 atualizações de status de email, 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 implementação de classe 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 é 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 método Finalize . 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 pelos Socket recursos gerenciados e, opcionalmente, descartados.

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

Para obter mais informações, consulte Limpar recursos não gerenciados e implementar um método de descarte.

Observação

Sempre chame Dispose antes de lançar sua última referência para o 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