SmtpClient.Dispose Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Envia uma mensagem QUIT para o servidor SMTP, termina graciosamente a ligação TCP e liberta todos os recursos usados pela instância atual da SmtpClient classe.
Sobrecargas
| Name | Description |
|---|---|
| Dispose() |
Envia uma mensagem QUIT para o servidor SMTP, termina graciosamente a ligação TCP e liberta todos os recursos usados pela instância atual da SmtpClient classe. |
| Dispose(Boolean) |
Envia uma mensagem QUIT para o servidor SMTP, termina graciosamente a ligação TCP, liberta todos os recursos usados pela instância atual da SmtpClient classe e, opcionalmente, elimina os recursos geridos. |
Observações
A ligação estabelecida pela instância atual da SmtpClient classe ao servidor SMTP pode ser reutilizada se uma aplicação desejar enviar múltiplas mensagens para o mesmo servidor SMTP. Isto é particularmente útil quando se utilizam autenticação ou encriptação para estabelecer uma ligação ao servidor SMTP. O processo de autenticação e estabelecimento de uma sessão TLS pode ser operações dispendiosas. A necessidade de restabelecer uma ligação para cada mensagem ao enviar uma grande quantidade de email para o mesmo servidor SMTP pode ter um impacto significativo no desempenho. Existem várias aplicações de email de grande volume que enviam atualizações de estado dos emails, distribuições de newsletters ou alertas por email. Além disso, muitas aplicações cliente de email suportam um modo offline onde os utilizadores podem compor muitas mensagens de email que são enviadas mais tarde, quando é estabelecida uma ligação ao servidor SMTP. É típico que um cliente de email envie todas as mensagens SMTP para um servidor SMTP específico (fornecido pelo fornecedor de serviços de Internet) que depois encaminha esse email para outros servidores SMTP.
A SmtpClient implementação de classes agrupa ligações SMTP para evitar a sobrecarga de restabelecer uma ligação para cada mensagem ao mesmo servidor. Uma aplicação 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á forma de determinar quando uma aplicação terminou de usar o SmtpClient objeto e deve ser limpa.
Quando uma sessão SMTP termina e o cliente deseja terminar a ligação, deve enviar uma mensagem QUIT ao servidor para indicar que não tem mais mensagens para enviar. Isto permite ao servidor libertar recursos associados à ligação do cliente e processar as mensagens enviadas pelo cliente.
Os Dispose métodos iteram por todas as ligações estabelecidas e enviam uma mensagem QUIT a cada servidor SMTP, seguida de terminar graciosamente a ligação TCP. Estes métodos também libertam os recursos não geridos usados e Socket , opcionalmente, eliminam os recursos geridos.
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 graciosamente a ligação TCP e liberta 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
Observações
A ligação estabelecida pela instância atual da SmtpClient classe ao servidor SMTP pode ser reutilizada se uma aplicação desejar enviar múltiplas mensagens para o mesmo servidor SMTP. Isto é particularmente útil quando se utilizam autenticação ou encriptação para estabelecer uma ligação ao servidor SMTP. O processo de autenticação e estabelecimento de uma sessão TLS pode ser operações dispendiosas. A necessidade de restabelecer uma ligação para cada mensagem ao enviar uma grande quantidade de email para o mesmo servidor SMTP pode ter um impacto significativo no desempenho. Existem várias aplicações de email de grande volume que enviam atualizações de estado dos emails, distribuições de newsletters ou alertas por email. Além disso, muitas aplicações cliente de email suportam um modo offline onde os utilizadores podem compor muitas mensagens de email que são enviadas mais tarde, quando é estabelecida uma ligação ao servidor SMTP. É típico que um cliente de email envie todas as mensagens SMTP para um servidor SMTP específico (fornecido pelo fornecedor de serviços de Internet) que depois encaminha esse email para outros servidores SMTP.
A SmtpClient implementação de classes agrupa ligações SMTP para evitar a sobrecarga de restabelecer uma ligação para cada mensagem ao mesmo servidor. Uma aplicação 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á forma de determinar quando uma aplicação terminou de usar o SmtpClient objeto e deve ser limpa.
Quando uma sessão SMTP termina e o cliente deseja terminar a ligação, deve enviar uma mensagem QUIT ao servidor para indicar que não tem mais mensagens para enviar. Isto permite ao servidor libertar recursos associados à ligação do cliente e processar as mensagens enviadas pelo cliente.
Chamar o Dispose método num SmtpClient objeto que está a executar uma operação assíncrona SendAsync cancela a operação de envio como se o SendAsyncCancel método tivesse sido chamado.
A SmtpClient aula não tem método Finalize . Por isso, uma aplicação tem de ligar Dispose para libertar recursos explicitamente.
O Dispose método itera por todas as ligações estabelecidas para o servidor SMTP especificado na Host propriedade e envia uma mensagem QUIT seguida de terminar graciosamente a ligação TCP. O Dispose método também liberta os recursos não geridos usados pelo subjacente Socket.
Ligue Dispose quando terminar de usar o SmtpClient. O Dispose método deixa o SmtpClient num estado inutilizável. Depois de chamar Dispose, deve libertar todas as referências ao SmtpClient para que o coletor de lixo possa recuperar a memória que ocupava SmtpClient .
Para mais informações, consulte Limpeza de Recursos Não Geridos e Implementação de um Método de Eliminação.
Note
Ligue Dispose sempre antes de divulgar a sua última referência ao SmtpClient. Caso contrário, os recursos que está a usar não serão libertados 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 graciosamente a ligação TCP, liberta todos os recursos usados pela instância atual da SmtpClient classe e, opcionalmente, elimina os recursos geridos.
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 libertar recursos geridos e não geridos; false para libertar apenas recursos não geridos.
Observações
A ligação estabelecida pela instância atual da SmtpClient classe ao servidor SMTP pode ser reutilizada se uma aplicação desejar enviar múltiplas mensagens para o mesmo servidor SMTP. Isto é particularmente útil quando se utilizam autenticação ou encriptação para estabelecer uma ligação ao servidor SMTP. O processo de autenticação e estabelecimento de uma sessão TLS pode ser operações dispendiosas. A necessidade de restabelecer uma ligação para cada mensagem ao enviar uma grande quantidade de email para o mesmo servidor SMTP pode ter um impacto significativo no desempenho. Existem várias aplicações de email de grande volume que enviam atualizações de estado dos emails, distribuições de newsletters ou alertas por email. Além disso, muitas aplicações cliente de email suportam um modo offline onde os utilizadores podem compor muitas mensagens de email que são enviadas mais tarde, quando é estabelecida uma ligação ao servidor SMTP. É típico que um cliente de email envie todas as mensagens SMTP para um servidor SMTP específico (fornecido pelo fornecedor de serviços de Internet) que depois encaminha esse email para outros servidores SMTP.
A SmtpClient implementação de classes agrupa ligações SMTP para evitar a sobrecarga de restabelecer uma ligação para cada mensagem ao mesmo servidor. Uma aplicação 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á forma de determinar quando uma aplicação terminou de usar o SmtpClient objeto e deve ser limpa.
Quando uma sessão SMTP termina e o cliente deseja terminar a ligação, deve enviar uma mensagem QUIT ao servidor para indicar que não tem mais mensagens para enviar. Isto permite ao servidor libertar recursos associados à ligação do cliente e processar as mensagens enviadas pelo cliente.
Chamar o Dispose método num SmtpClient objeto que está a executar uma operação assíncrona SendAsync cancela a operação de envio como se o SendAsyncCancel método tivesse sido chamado.
A SmtpClient aula não tem método Finalize . Por isso, uma aplicação tem de ligar Dispose para libertar recursos explicitamente.
O Dispose método itera por todas as ligações estabelecidas para o servidor SMTP especificado na Host propriedade e envia uma mensagem QUIT seguida de terminar graciosamente a ligação TCP. O Dispose método também liberta os recursos não geridos usados pelo Socket e opcionalmente elimina os recursos geridos.
Ligue Dispose quando terminar de usar o SmtpClient. O Dispose método deixa o SmtpClient num estado inutilizável. Depois de chamar Dispose, deve libertar todas as referências ao SmtpClient para que o coletor de lixo possa recuperar a memória que ocupava SmtpClient .
Para mais informações, consulte Limpeza de Recursos Não Geridos e Implementação de um Método de Eliminação.
Note
Ligue Dispose sempre antes de divulgar a sua última referência ao SmtpClient. Caso contrário, os recursos que está a usar não serão libertados para que o coletor de lixo possa recuperar a memória.