SmtpClient.Dispose Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Отправляет сообщение QUIT на SMTP-сервер, правильно завершает TCP-подключение и освобождает все ресурсы, используемые текущим экземпляром класса SmtpClient.
Перегрузки
Dispose() |
Отправляет сообщение QUIT на SMTP-сервер, правильно завершает TCP-подключение и освобождает все ресурсы, используемые текущим экземпляром класса SmtpClient. |
Dispose(Boolean) |
Отправляет сообщение QUIT на SMTP-сервер, правильно завершает TCP-подключение и освобождает все ресурсы, используемые текущим экземпляром класса SmtpClient, и при необходимости освобождает управляемые ресурсы. |
Комментарии
Соединение, установленное текущим экземпляром SmtpClient класса с SMTP-сервером, может быть использовано повторно, если приложение хочет отправить несколько сообщений на один SMTP-сервер. Это особенно полезно при использовании проверки подлинности или шифрования подключения к SMTP-серверу. Процесс проверки подлинности и установки сеанса TLS может быть дорогостоящим. Требование повторно установить подключение для каждого сообщения при отправке большого количества сообщений электронной почты на тот же SMTP-сервер может оказать значительное влияние на производительность. Существует ряд больших почтовых приложений, которые отправляют обновления о состоянии электронной почты, рассылки информационных бюллетеней или оповещения по электронной почте. Кроме того, многие клиентские приложения электронной почты поддерживают режим off-line, в котором пользователи могут создавать множество сообщений электронной почты, которые отправляются позже при установке подключения к SMTP-серверу. Как правило, почтовый клиент отправляет все сообщения SMTP на определенный SMTP-сервер (предоставляемый поставщиком услуг Интернета), который затем пересылает это сообщение на другие SMTP-серверы.
Реализация SmtpClient класса пула SMTP-подключений позволяет избежать затрат на повторное подключение для каждого сообщения к одному и тому же серверу. Приложение может повторно использовать один и тот же SmtpClient объект для отправки множества различных сообщений электронной почты на один и тот же SMTP-сервер и на несколько разных SMTP-серверов. В результате невозможно определить, когда приложение будет завершено с помощью SmtpClient объекта , и его необходимо очистить.
Когда сеанс SMTP завершен и клиент хочет завершить подключение, он должен отправить на сервер сообщение QUIT, чтобы указать, что у него больше нет сообщений для отправки. Это позволяет серверу освобождать ресурсы, связанные с подключением, от клиента и обрабатывать сообщения, отправленные клиентом.
Методы Dispose выполняют итерацию по всем установленным подключениям и отправляют сообщение QUIT на каждый SMTP-сервер, а затем корректно завершают TCP-подключение. Эти методы также освобождают неуправляемые ресурсы, используемые , Socket и при необходимости удаляют управляемые ресурсы.
Dispose()
- Исходный код:
- SmtpClient.cs
- Исходный код:
- SmtpClient.cs
- Исходный код:
- SmtpClient.cs
Отправляет сообщение 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-сервер может оказать значительное влияние на производительность. Существует ряд больших почтовых приложений, которые отправляют обновления о состоянии электронной почты, рассылки информационных бюллетеней или оповещения по электронной почте. Кроме того, многие клиентские приложения электронной почты поддерживают режим off-line, в котором пользователи могут создавать множество сообщений электронной почты, которые отправляются позже при установке подключения к SMTP-серверу. Как правило, почтовый клиент отправляет все сообщения SMTP на определенный SMTP-сервер (предоставляемый поставщиком услуг Интернета), который затем пересылает это сообщение на другие SMTP-серверы.
Реализация SmtpClient класса пула SMTP-подключений позволяет избежать затрат на повторное подключение для каждого сообщения к одному и тому же серверу. Приложение может повторно использовать один и тот же SmtpClient объект для отправки множества различных сообщений электронной почты на один и тот же SMTP-сервер и на несколько разных SMTP-серверов. В результате невозможно определить, когда приложение будет завершено с помощью SmtpClient объекта , и его необходимо очистить.
Когда сеанс SMTP завершен и клиент хочет завершить подключение, он должен отправить на сервер сообщение QUIT, чтобы указать, что у него больше нет сообщений для отправки. Это позволяет серверу освобождать ресурсы, связанные с подключением, от клиента и обрабатывать сообщения, отправленные клиентом.
Dispose Вызов метода для SmtpClient объекта, выполняющего асинхронную SendAsync операцию, отменит операцию отправки, как если бы SendAsyncCancel был вызван метод .
Класс SmtpClient не Finalize
имеет метода . Поэтому приложение должно вызывать Dispose для явного освобождения ресурсов.
Метод Dispose выполняет итерацию всех установленных подключений к SMTP-серверу, указанному Host в свойстве , и отправляет сообщение QUIT, за которым следует корректное завершение TCP-подключения. Метод Dispose также освобождает неуправляемые ресурсы, используемые базовым Socket.
Вызовите метод Dispose по окончании использования класса SmtpClient. Метод Dispose оставляет класс SmtpClient в непригодном для использования состоянии. После вызова метода Dispose необходимо освободить все ссылки на объект SmtpClient, чтобы сборщик мусора мог освободить память, занимаемую объектом SmtpClient.
Дополнительные сведения см. в разделах Очистка неуправляемых ресурсов и Реализация метода Dispose.
Примечание
Всегда вызывайте метод Dispose перед освобождением последней ссылки на класс SmtpClient. В противном случае используемые ресурсы не будут освобождены, поэтому сборщик мусора сможет освободить память.
Применяется к
Dispose(Boolean)
- Исходный код:
- SmtpClient.cs
- Исходный код:
- SmtpClient.cs
- Исходный код:
- SmtpClient.cs
Отправляет сообщение 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-сервер может оказать значительное влияние на производительность. Существует ряд больших почтовых приложений, которые отправляют обновления о состоянии электронной почты, рассылки информационных бюллетеней или оповещения по электронной почте. Кроме того, многие клиентские приложения электронной почты поддерживают режим off-line, в котором пользователи могут создавать множество сообщений электронной почты, которые отправляются позже при установке подключения к SMTP-серверу. Как правило, почтовый клиент отправляет все сообщения SMTP на определенный SMTP-сервер (предоставляемый поставщиком услуг Интернета), который затем пересылает это сообщение на другие SMTP-серверы.
Реализация SmtpClient класса пула SMTP-подключений позволяет избежать затрат на повторное подключение для каждого сообщения к одному и тому же серверу. Приложение может повторно использовать один и тот же SmtpClient объект для отправки множества различных сообщений электронной почты на один и тот же SMTP-сервер и на несколько разных SMTP-серверов. В результате невозможно определить, когда приложение будет завершено с помощью SmtpClient объекта , и его необходимо очистить.
Когда сеанс SMTP завершен и клиент хочет завершить подключение, он должен отправить на сервер сообщение QUIT, чтобы указать, что у него больше нет сообщений для отправки. Это позволяет серверу освобождать ресурсы, связанные с подключением, от клиента и обрабатывать сообщения, отправленные клиентом.
Dispose Вызов метода для SmtpClient объекта, выполняющего асинхронную SendAsync операцию, отменит операцию отправки, как если бы SendAsyncCancel был вызван метод .
Класс SmtpClient не Finalize
имеет метода . Поэтому приложение должно вызывать Dispose для явного освобождения ресурсов.
Метод Dispose выполняет итерацию всех установленных подключений к SMTP-серверу, указанному Host в свойстве , и отправляет сообщение QUIT, за которым следует корректное завершение TCP-подключения. Метод Dispose также освобождает неуправляемые ресурсы, используемые , Socket и при необходимости удаляет управляемые ресурсы.
Вызовите метод Dispose по окончании использования класса SmtpClient. Метод Dispose оставляет класс SmtpClient в непригодном для использования состоянии. После вызова метода Dispose необходимо освободить все ссылки на объект SmtpClient, чтобы сборщик мусора мог освободить память, занимаемую объектом SmtpClient.
Дополнительные сведения см. в разделах Очистка неуправляемых ресурсов и Реализация метода Dispose.
Примечание
Всегда вызывайте метод Dispose перед освобождением последней ссылки на класс SmtpClient. В противном случае используемые ресурсы не будут освобождены, поэтому сборщик мусора сможет освободить память.