SmtpClient.Dispose Метод

Определение

Отправляет сообщение QUIT на SMTP-сервер, правильно завершает TCP-подключение и освобождает все ресурсы, используемые текущим экземпляром класса SmtpClient.Sends a QUIT message to the SMTP server, gracefully ends the TCP connection, and releases all resources used by the current instance of the SmtpClient class.

Перегрузки

Dispose()

Отправляет сообщение QUIT на SMTP-сервер, правильно завершает TCP-подключение и освобождает все ресурсы, используемые текущим экземпляром класса SmtpClient.Sends a QUIT message to the SMTP server, gracefully ends the TCP connection, and releases all resources used by the current instance of the SmtpClient class.

Dispose(Boolean)

Отправляет сообщение QUIT на SMTP-сервер, правильно завершает TCP-подключение и освобождает все ресурсы, используемые текущим экземпляром класса SmtpClient, и при необходимости освобождает управляемые ресурсы.Sends a QUIT message to the SMTP server, gracefully ends the TCP connection, releases all resources used by the current instance of the SmtpClient class, and optionally disposes of the managed resources.

Комментарии

Подключение, установленное текущим экземпляром SmtpClient класса к SMTP-серверу, может быть использовано повторно, если приложение хочет отправить несколько сообщений на один и тот же SMTP-сервер.The connection established by the current instance of the SmtpClient class to the SMTP server may be re-used if an application wishes to send multiple messages to the same SMTP server. Это особенно удобно при использовании проверки подлинности или шифрования для установки подключения к SMTP-серверу.This is particularly useful when authentication or encryption are used establish a connection to the SMTP server. Процесс проверки подлинности и установки сеанса TLS может быть дорогостоящей операцией.The process of authenticating and establishing a TLS session can be expensive operations. Требование повторного подключения для каждого сообщения при отправке большого количества электронной почты на один и тот же SMTP-сервер может оказать значительное влияние на производительность.A requirement to re-establish a connection for each message when sending a large quantity of email to the same SMTP server could have a significant impact on performance. Существует несколько приложений электронной почты с большими объемами, которые отправляют по электронной почте обновления состояния, рассылки бюллетеней или оповещения по электронной почте.There are a number of high-volume email applications that send email status updates, newsletter distributions, or email alerts. Кроме того, многие клиентские приложения электронной почты поддерживают автономный режим, при котором пользователи могут создавать множество сообщений электронной почты, отправляемых позже, когда устанавливается подключение к SMTP-серверу.Also many email client applications support an off-line mode where users can compose many email messages that are sent later when a connection to the SMTP server is established. Обычно почтовый клиент отправляет все сообщения SMTP на конкретный SMTP-сервер (предоставленный поставщиком услуг Интернета), который затем перенаправляет это сообщение на другие SMTP-серверы.It is typical for an email client to send all SMTP messages to a specific SMTP server (provided by the Internet service provider) that then forwards this email to other SMTP servers.

SmtpClientРеализация класса объединяет SMTP-подключения, чтобы избежать издержек на повторное подключение для каждого сообщения на один и тот же сервер.The SmtpClient class implementation pools SMTP connections so that it can avoid the overhead of re-establishing a connection for every message to the same server. Приложение может повторно использовать один и тот же SmtpClient объект для отправки множества различных сообщений электронной почты на один и тот же SMTP-сервер и на множество разных SMTP-серверов.An application may re-use the same SmtpClient object to send many different emails to the same SMTP server and to many different SMTP servers. В результате не существует способа определить, когда приложение завершает работу с SmtpClient объектом и должно быть очищено.As a result, there is no way to determine when an application is finished using the SmtpClient object and it should be cleaned up.

Когда сеанс SMTP завершается и клиент хочет завершить подключение, он должен отправить серверу сообщение о выходе, чтобы указать, что в нем нет сообщений для отправки.When an SMTP session is finished and the client wishes to terminate the connection, it must send a QUIT message to the server to indicate that it has no more messages to send. Это позволяет серверу освобождать ресурсы, связанные с подключением от клиента, и обрабатывать сообщения, отправленные клиентом.This allows the server to free up resources associated with the connection from the client and process the messages which were sent by the client.

DisposeМетоды просматривают все установленные подключения и отправляют сообщение о выходе на каждый SMTP-сервер, за которым следует корректное завершение подключения TCP.The Dispose methods iterates through all established connections and send a QUIT message to each SMTP server, followed by gracefully ending the TCP connection. Эти методы также освобождают неуправляемые ресурсы, используемые Socket и при необходимости удаляя управляемые ресурсы.These methods also release the unmanaged resources used by the Socket and optionally dispose of the managed resources.

Dispose()

Отправляет сообщение QUIT на SMTP-сервер, правильно завершает TCP-подключение и освобождает все ресурсы, используемые текущим экземпляром класса SmtpClient.Sends a QUIT message to the SMTP server, gracefully ends the TCP connection, and releases all resources used by the current instance of the SmtpClient class.

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

Реализации

Комментарии

Подключение, установленное текущим экземпляром SmtpClient класса к SMTP-серверу, может быть использовано повторно, если приложение хочет отправить несколько сообщений на один и тот же SMTP-сервер.The connection established by the current instance of the SmtpClient class to the SMTP server may be re-used if an application wishes to send multiple messages to the same SMTP server. Это особенно удобно при использовании проверки подлинности или шифрования для установки подключения к SMTP-серверу.This is particularly useful when authentication or encryption are used establish a connection to the SMTP server. Процесс проверки подлинности и установки сеанса TLS может быть дорогостоящей операцией.The process of authenticating and establishing a TLS session can be expensive operations. Требование повторного подключения для каждого сообщения при отправке большого количества электронной почты на один и тот же SMTP-сервер может оказать значительное влияние на производительность.A requirement to re-establish a connection for each message when sending a large quantity of email to the same SMTP server could have a significant impact on performance. Существует несколько приложений электронной почты с большими объемами, которые отправляют по электронной почте обновления состояния, рассылки бюллетеней или оповещения по электронной почте.There are a number of high-volume email applications that send email status updates, newsletter distributions, or email alerts. Кроме того, многие клиентские приложения электронной почты поддерживают автономный режим, при котором пользователи могут создавать множество сообщений электронной почты, отправляемых позже, когда устанавливается подключение к SMTP-серверу.Also many email client applications support an off-line mode where users can compose many email messages that are sent later when a connection to the SMTP server is established. Обычно почтовый клиент отправляет все сообщения SMTP на конкретный SMTP-сервер (предоставленный поставщиком услуг Интернета), который затем перенаправляет это сообщение на другие SMTP-серверы.It is typical for an email client to send all SMTP messages to a specific SMTP server (provided by the Internet service provider) that then forwards this email to other SMTP servers.

SmtpClientРеализация класса объединяет SMTP-подключения, чтобы избежать издержек на повторное подключение для каждого сообщения на один и тот же сервер.The SmtpClient class implementation pools SMTP connections so that it can avoid the overhead of re-establishing a connection for every message to the same server. Приложение может повторно использовать один и тот же SmtpClient объект для отправки множества различных сообщений электронной почты на один и тот же SMTP-сервер и на множество разных SMTP-серверов.An application may re-use the same SmtpClient object to send many different emails to the same SMTP server and to many different SMTP servers. В результате не существует способа определить, когда приложение завершает работу с SmtpClient объектом и должно быть очищено.As a result, there is no way to determine when an application is finished using the SmtpClient object and it should be cleaned up.

Когда сеанс SMTP завершается и клиент хочет завершить подключение, он должен отправить серверу сообщение о выходе, чтобы указать, что в нем нет сообщений для отправки.When an SMTP session is finished and the client wishes to terminate the connection, it must send a QUIT message to the server to indicate that it has no more messages to send. Это позволяет серверу освобождать ресурсы, связанные с подключением от клиента, и обрабатывать сообщения, отправленные клиентом.This allows the server to free up resources associated with the connection from the client and process the messages which were sent by the client.

Вызов Dispose метода для SmtpClient объекта, выполняющего асинхронную операцию, SendAsync приведет к отмене операции отправки, как будто SendAsyncCancel был вызван метод.Calling the Dispose method on a SmtpClient object that is executing an asynchronous SendAsync operation will cancel the send operation as though the SendAsyncCancel method had been called.

SmtpClientКласс не имеет Finalize метода.The SmtpClient class has no Finalize method. Поэтому приложение должно вызвать Dispose , чтобы явно освободить ресурсы.So an application must call Dispose to explicitly free up resources.

DisposeМетод выполняет итерацию всех установленных подключений к SMTP-серверу, указанному в Host свойстве, и отправляет сообщение о выходе, а затем КОРРЕКТНО завершает TCP-подключение.The Dispose method iterates through all established connections to the SMTP server specified in the Host property and sends a QUIT message followed by gracefully ending the TCP connection. DisposeМетод также освобождает неуправляемые ресурсы, используемые базовым объектом Socket .The Dispose method also releases the unmanaged resources used by the underlying Socket.

Вызовите метод Dispose по окончании использования класса SmtpClient.Call Dispose when you are finished using the SmtpClient. Метод Dispose оставляет класс SmtpClient в непригодном для использования состоянии.The Dispose method leaves the SmtpClient in an unusable state. После вызова метода Dispose необходимо освободить все ссылки на объект SmtpClient, чтобы сборщик мусора мог освободить память, занимаемую объектом SmtpClient.After calling Dispose, you must release all references to the SmtpClient so the garbage collector can reclaim the memory that the SmtpClient was occupying.

Дополнительные сведения см. в разделе Очистка неуправляемых ресурсов и Реализация метода Dispose.For more information, see Cleaning Up Unmanaged Resources and Implementing a Dispose Method.

Примечание

Всегда вызывайте метод Dispose перед освобождением последней ссылки на класс SmtpClient.Always call Dispose before you release your last reference to the SmtpClient. В противном случае ресурсы, которые он использует, не будут освобождены, чтобы сборщик мусора мог освободить память.Otherwise, the resources it is using will not be freed so the garbage collector can reclaim the memory.

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

Dispose(Boolean)

Отправляет сообщение QUIT на SMTP-сервер, правильно завершает TCP-подключение и освобождает все ресурсы, используемые текущим экземпляром класса SmtpClient, и при необходимости освобождает управляемые ресурсы.Sends a QUIT message to the SMTP server, gracefully ends the TCP connection, releases all resources used by the current instance of the SmtpClient class, and optionally disposes of the managed resources.

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 для освобождения только неуправляемых ресурсов.true to release both managed and unmanaged resources; false to releases only unmanaged resources.

Комментарии

Подключение, установленное текущим экземпляром SmtpClient класса к SMTP-серверу, может быть использовано повторно, если приложение хочет отправить несколько сообщений на один и тот же SMTP-сервер.The connection established by the current instance of the SmtpClient class to the SMTP server may be re-used if an application wishes to send multiple messages to the same SMTP server. Это особенно удобно при использовании проверки подлинности или шифрования для установки подключения к SMTP-серверу.This is particularly useful when authentication or encryption are used establish a connection to the SMTP server. Процесс проверки подлинности и установки сеанса TLS может быть дорогостоящей операцией.The process of authenticating and establishing a TLS session can be expensive operations. Требование повторного подключения для каждого сообщения при отправке большого количества электронной почты на один и тот же SMTP-сервер может оказать значительное влияние на производительность.A requirement to re-establish a connection for each message when sending a large quantity of email to the same SMTP server could have a significant impact on performance. Существует несколько приложений электронной почты с большими объемами, которые отправляют по электронной почте обновления состояния, рассылки бюллетеней или оповещения по электронной почте.There are a number of high-volume email applications that send email status updates, newsletter distributions, or email alerts. Кроме того, многие клиентские приложения электронной почты поддерживают автономный режим, при котором пользователи могут создавать множество сообщений электронной почты, отправляемых позже, когда устанавливается подключение к SMTP-серверу.Also many email client applications support an off-line mode where users can compose many email messages that are sent later when a connection to the SMTP server is established. Обычно почтовый клиент отправляет все сообщения SMTP на конкретный SMTP-сервер (предоставленный поставщиком услуг Интернета), который затем перенаправляет это сообщение на другие SMTP-серверы.It is typical for an email client to send all SMTP messages to a specific SMTP server (provided by the Internet service provider) that then forwards this email to other SMTP servers.

SmtpClientРеализация класса объединяет SMTP-подключения, чтобы избежать издержек на повторное подключение для каждого сообщения на один и тот же сервер.The SmtpClient class implementation pools SMTP connections so that it can avoid the overhead of re-establishing a connection for every message to the same server. Приложение может повторно использовать один и тот же SmtpClient объект для отправки множества различных сообщений электронной почты на один и тот же SMTP-сервер и на множество разных SMTP-серверов.An application may re-use the same SmtpClient object to send many different emails to the same SMTP server and to many different SMTP servers. В результате не существует способа определить, когда приложение завершает работу с SmtpClient объектом и должно быть очищено.As a result, there is no way to determine when an application is finished using the SmtpClient object and it should be cleaned up.

Когда сеанс SMTP завершается и клиент хочет завершить подключение, он должен отправить серверу сообщение о выходе, чтобы указать, что в нем нет сообщений для отправки.When an SMTP session is finished and the client wishes to terminate the connection, it must send a QUIT message to the server to indicate that it has no more messages to send. Это позволяет серверу освобождать ресурсы, связанные с подключением от клиента, и обрабатывать сообщения, отправленные клиентом.This allows the server to free up resources associated with the connection from the client and process the messages which were sent by the client.

Вызов Dispose метода для SmtpClient объекта, выполняющего асинхронную операцию, SendAsync приведет к отмене операции отправки, как будто SendAsyncCancel был вызван метод.Calling the Dispose method on a SmtpClient object that is executing an asynchronous SendAsync operation will cancel the send operation as though the SendAsyncCancel method had been called.

SmtpClientКласс не имеет Finalize метода.The SmtpClient class has no Finalize method. Поэтому приложение должно вызвать Dispose , чтобы явно освободить ресурсы.So an application must call Dispose to explicitly free up resources.

DisposeМетод выполняет итерацию всех установленных подключений к SMTP-серверу, указанному в Host свойстве, и отправляет сообщение о выходе, а затем КОРРЕКТНО завершает TCP-подключение.The Dispose method iterates through all established connections to the SMTP server specified in the Host property and sends a QUIT message followed by gracefully ending the TCP connection. DisposeМетод также освобождает неуправляемые ресурсы, используемые объектом, Socket и при необходимости уничтожает управляемые ресурсы.The Dispose method also releases the unmanaged resources used by the Socket and optionally disposes of the managed resources.

Вызовите метод Dispose по окончании использования класса SmtpClient.Call Dispose when you are finished using the SmtpClient. Метод Dispose оставляет класс SmtpClient в непригодном для использования состоянии.The Dispose method leaves the SmtpClient in an unusable state. После вызова метода Dispose необходимо освободить все ссылки на объект SmtpClient, чтобы сборщик мусора мог освободить память, занимаемую объектом SmtpClient.After calling Dispose, you must release all references to the SmtpClient so the garbage collector can reclaim the memory that the SmtpClient was occupying.

Дополнительные сведения см. в разделе Очистка неуправляемых ресурсов и Реализация метода Dispose.For more information, see Cleaning Up Unmanaged Resources and Implementing a Dispose Method.

Примечание

Всегда вызывайте метод Dispose перед освобождением последней ссылки на класс SmtpClient.Always call Dispose before you release your last reference to the SmtpClient. В противном случае ресурсы, которые он использует, не будут освобождены, чтобы сборщик мусора мог освободить память.Otherwise, the resources it is using will not be freed so the garbage collector can reclaim the memory.

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