SmtpClient.Dispose Метод

Определение

Отправляет сообщение QUIT на SMTP-сервер, правильно завершает TCP-подключение и освобождает все ресурсы, используемые текущим экземпляром класса SmtpClient.

Перегрузки

Dispose()

Отправляет сообщение QUIT на SMTP-сервер, правильно завершает TCP-подключение и освобождает все ресурсы, используемые текущим экземпляром класса SmtpClient.

Dispose(Boolean)

Отправляет сообщение QUIT на SMTP-сервер, правильно завершает TCP-подключение и освобождает все ресурсы, используемые текущим экземпляром класса SmtpClient, и при необходимости освобождает управляемые ресурсы.

Комментарии

Подключение, установленное текущим экземпляром SmtpClient класса к SMTP-серверу, может быть использовано повторно, если приложение хочет отправить несколько сообщений на один и тот же SMTP-сервер. Это особенно удобно при использовании проверки подлинности или шифрования для установки подключения к SMTP-серверу. Процесс проверки подлинности и установки сеанса TLS может быть дорогостоящей операцией. Требование повторного подключения для каждого сообщения при отправке большого количества электронной почты на один и тот же SMTP-сервер может оказать значительное влияние на производительность. Существует несколько приложений электронной почты с большими объемами, которые отправляют по электронной почте обновления состояния, рассылки бюллетеней или оповещения по электронной почте. Кроме того, многие клиентские приложения электронной почты поддерживают автономный режим, при котором пользователи могут создавать множество сообщений электронной почты, отправляемых позже, когда устанавливается подключение к SMTP-серверу. Обычно почтовый клиент отправляет все сообщения SMTP на конкретный SMTP-сервер (предоставленный поставщиком услуг Интернета), который затем перенаправляет это сообщение на другие SMTP-серверы.

SmtpClientРеализация класса объединяет SMTP-подключения, чтобы избежать издержек на повторное подключение для каждого сообщения на один и тот же сервер. Приложение может повторно использовать один и тот же SmtpClient объект для отправки множества различных сообщений электронной почты на один и тот же SMTP-сервер и на множество разных SMTP-серверов. В результате не существует способа определить, когда приложение завершает работу с SmtpClient объектом и должно быть очищено.

Когда сеанс SMTP завершается и клиент хочет завершить подключение, он должен отправить серверу сообщение о выходе, чтобы указать, что в нем нет сообщений для отправки. Это позволяет серверу освобождать ресурсы, связанные с подключением от клиента, и обрабатывать сообщения, отправленные клиентом.

DisposeМетоды просматривают все установленные подключения и отправляют сообщение о выходе на каждый SMTP-сервер, за которым следует корректное завершение подключения TCP. Эти методы также освобождают неуправляемые ресурсы, используемые Socket и при необходимости удаляя управляемые ресурсы.

Dispose()

Отправляет сообщение QUIT на SMTP-сервер, правильно завершает TCP-подключение и освобождает все ресурсы, используемые текущим экземпляром класса SmtpClient.

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

Реализации

Комментарии

Подключение, установленное текущим экземпляром SmtpClient класса к SMTP-серверу, может быть использовано повторно, если приложение хочет отправить несколько сообщений на один и тот же SMTP-сервер. Это особенно удобно при использовании проверки подлинности или шифрования для установки подключения к SMTP-серверу. Процесс проверки подлинности и установки сеанса TLS может быть дорогостоящей операцией. Требование повторного подключения для каждого сообщения при отправке большого количества электронной почты на один и тот же SMTP-сервер может оказать значительное влияние на производительность. Существует несколько приложений электронной почты с большими объемами, которые отправляют по электронной почте обновления состояния, рассылки бюллетеней или оповещения по электронной почте. Кроме того, многие клиентские приложения электронной почты поддерживают автономный режим, при котором пользователи могут создавать множество сообщений электронной почты, отправляемых позже, когда устанавливается подключение к SMTP-серверу. Обычно почтовый клиент отправляет все сообщения SMTP на конкретный SMTP-сервер (предоставленный поставщиком услуг Интернета), который затем перенаправляет это сообщение на другие SMTP-серверы.

SmtpClientРеализация класса объединяет SMTP-подключения, чтобы избежать издержек на повторное подключение для каждого сообщения на один и тот же сервер. Приложение может повторно использовать один и тот же SmtpClient объект для отправки множества различных сообщений электронной почты на один и тот же SMTP-сервер и на множество разных SMTP-серверов. В результате не существует способа определить, когда приложение завершает работу с SmtpClient объектом и должно быть очищено.

Когда сеанс SMTP завершается и клиент хочет завершить подключение, он должен отправить серверу сообщение о выходе, чтобы указать, что в нем нет сообщений для отправки. Это позволяет серверу освобождать ресурсы, связанные с подключением от клиента, и обрабатывать сообщения, отправленные клиентом.

Вызов Dispose метода для SmtpClient объекта, выполняющего асинхронную операцию, SendAsync приведет к отмене операции отправки, как будто SendAsyncCancel был вызван метод.

SmtpClientКласс не имеет Finalize метода. Поэтому приложение должно вызвать Dispose , чтобы явно освободить ресурсы.

DisposeМетод выполняет итерацию всех установленных подключений к SMTP-серверу, указанному в Host свойстве, и отправляет сообщение о выходе, а затем КОРРЕКТНО завершает TCP-подключение. DisposeМетод также освобождает неуправляемые ресурсы, используемые базовым объектом Socket .

Вызовите метод Dispose по окончании использования класса SmtpClient. Метод Dispose оставляет класс SmtpClient в непригодном для использования состоянии. После вызова метода Dispose необходимо освободить все ссылки на объект SmtpClient, чтобы сборщик мусора мог освободить память, занимаемую объектом SmtpClient.

Дополнительные сведения см. в разделе Очистка неуправляемых ресурсов и Реализация метода Dispose.

Примечание

Всегда вызывайте метод Dispose перед освобождением последней ссылки на класс SmtpClient. В противном случае ресурсы, которые он использует, не будут освобождены, чтобы сборщик мусора мог освободить память.

Применяется к

Dispose(Boolean)

Отправляет сообщение QUIT на SMTP-сервер, правильно завершает TCP-подключение и освобождает все ресурсы, используемые текущим экземпляром класса SmtpClient, и при необходимости освобождает управляемые ресурсы.

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)

Параметры

disposing
Boolean

Значение true для освобождения управляемых и неуправляемых ресурсов; значение false для освобождения только неуправляемых ресурсов.

Комментарии

Подключение, установленное текущим экземпляром SmtpClient класса к SMTP-серверу, может быть использовано повторно, если приложение хочет отправить несколько сообщений на один и тот же SMTP-сервер. Это особенно удобно при использовании проверки подлинности или шифрования для установки подключения к SMTP-серверу. Процесс проверки подлинности и установки сеанса TLS может быть дорогостоящей операцией. Требование повторного подключения для каждого сообщения при отправке большого количества электронной почты на один и тот же SMTP-сервер может оказать значительное влияние на производительность. Существует несколько приложений электронной почты с большими объемами, которые отправляют по электронной почте обновления состояния, рассылки бюллетеней или оповещения по электронной почте. Кроме того, многие клиентские приложения электронной почты поддерживают автономный режим, при котором пользователи могут создавать множество сообщений электронной почты, отправляемых позже, когда устанавливается подключение к SMTP-серверу. Обычно почтовый клиент отправляет все сообщения SMTP на конкретный SMTP-сервер (предоставленный поставщиком услуг Интернета), который затем перенаправляет это сообщение на другие SMTP-серверы.

SmtpClientРеализация класса объединяет SMTP-подключения, чтобы избежать издержек на повторное подключение для каждого сообщения на один и тот же сервер. Приложение может повторно использовать один и тот же SmtpClient объект для отправки множества различных сообщений электронной почты на один и тот же SMTP-сервер и на множество разных SMTP-серверов. В результате не существует способа определить, когда приложение завершает работу с SmtpClient объектом и должно быть очищено.

Когда сеанс SMTP завершается и клиент хочет завершить подключение, он должен отправить серверу сообщение о выходе, чтобы указать, что в нем нет сообщений для отправки. Это позволяет серверу освобождать ресурсы, связанные с подключением от клиента, и обрабатывать сообщения, отправленные клиентом.

Вызов Dispose метода для SmtpClient объекта, выполняющего асинхронную операцию, SendAsync приведет к отмене операции отправки, как будто SendAsyncCancel был вызван метод.

SmtpClientКласс не имеет Finalize метода. Поэтому приложение должно вызвать Dispose , чтобы явно освободить ресурсы.

DisposeМетод выполняет итерацию всех установленных подключений к SMTP-серверу, указанному в Host свойстве, и отправляет сообщение о выходе, а затем КОРРЕКТНО завершает TCP-подключение. DisposeМетод также освобождает неуправляемые ресурсы, используемые объектом, Socket и при необходимости уничтожает управляемые ресурсы.

Вызовите метод Dispose по окончании использования класса SmtpClient. Метод Dispose оставляет класс SmtpClient в непригодном для использования состоянии. После вызова метода Dispose необходимо освободить все ссылки на объект SmtpClient, чтобы сборщик мусора мог освободить память, занимаемую объектом SmtpClient.

Дополнительные сведения см. в разделе Очистка неуправляемых ресурсов и Реализация метода Dispose.

Примечание

Всегда вызывайте метод Dispose перед освобождением последней ссылки на класс SmtpClient. В противном случае ресурсы, которые он использует, не будут освобождены, чтобы сборщик мусора мог освободить память.

Применяется к