Aracılığıyla paylaş


SmtpClient.Dispose Yöntem

Tanım

SMTP sunucusuna bir QUIT iletisi gönderir, TCP bağlantısını düzgün bir şekilde sonlandırır ve sınıfın geçerli örneği SmtpClient tarafından kullanılan tüm kaynakları serbest bırakır.

Aşırı Yüklemeler

Name Description
Dispose()

SMTP sunucusuna bir QUIT iletisi gönderir, TCP bağlantısını düzgün bir şekilde sonlandırır ve sınıfın geçerli örneği SmtpClient tarafından kullanılan tüm kaynakları serbest bırakır.

Dispose(Boolean)

SMTP sunucusuna BIR QUIT iletisi gönderir, TCP bağlantısını düzgün bir şekilde sonlandırır, sınıfın SmtpClient geçerli örneği tarafından kullanılan tüm kaynakları serbest bırakır ve isteğe bağlı olarak yönetilen kaynakları atar.

Açıklamalar

Bir uygulama aynı SMTP sunucusuna birden çok ileti göndermek isterse, sınıfın SmtpClient geçerli örneği tarafından SMTP sunucusuna kurulan bağlantı yeniden kullanılabilir. Bu, özellikle kimlik doğrulaması veya şifreleme kullanıldığında SMTP sunucusuna bağlantı kurarken kullanışlıdır. TLS oturumunun kimliğini doğrulama ve oluşturma işlemi pahalı işlemler olabilir. Aynı SMTP sunucusuna büyük miktarda e-posta gönderirken her ileti için yeniden bağlantı kurma gereksinimi, performansı önemli ölçüde etkileyebilir. E-posta durum güncelleştirmelerini, bülten dağıtımlarını veya e-posta uyarılarını gönderen çok sayıda yüksek hacimli e-posta uygulaması vardır. Ayrıca birçok e-posta istemci uygulaması, kullanıcıların SMTP sunucusuna bir bağlantı kurulduğunda daha sonra gönderilen birçok e-posta iletisi oluşturabileceği bir off-line modunu destekler. Bir e-posta istemcisinin tüm SMTP iletilerini belirli bir SMTP sunucusuna (İnternet hizmet sağlayıcısı tarafından sağlanan) göndermesi ve ardından bu e-postayı diğer SMTP sunucularına iletmesi normaldir.

SmtpClient Sınıf uygulaması SMTP bağlantılarını havuza alır, böylece aynı sunucuya yönelik her ileti için yeniden bağlantı kurma yükünü önleyebilir. Bir uygulama aynı SmtpClient SMTP sunucusuna ve birçok farklı SMTP sunucusuna birçok farklı e-posta göndermek için aynı nesneyi yeniden kullanabilir. Sonuç olarak, bir uygulamanın nesnesini kullanmayı ne zaman bitirdiğini ve temizlenmesi gerektiğini belirlemenin SmtpClient bir yolu yoktur.

BIR SMTP oturumu tamamlandığında ve istemci bağlantıyı sonlandırmak istediğinde, gönderilecek başka ileti olmadığını belirtmek için sunucuya bir QUIT iletisi göndermesi gerekir. Bu, sunucunun istemciden bağlantıyla ilişkili kaynakları boşaltmasına ve istemci tarafından gönderilen iletileri işlemesine olanak tanır.

Dispose Yöntemler, tüm kurulan bağlantılar aracılığıyla yinelenir ve her SMTP sunucusuna bir QUIT iletisi gönderir ve ardından TCP bağlantısını düzgün bir şekilde sonlandırır. Bu yöntemler ayrıca tarafından Socket kullanılan yönetilmeyen kaynakları serbest bırakır ve isteğe bağlı olarak yönetilen kaynakları atılır.

Dispose()

Kaynak:
SmtpClient.cs
Kaynak:
SmtpClient.cs
Kaynak:
SmtpClient.cs
Kaynak:
SmtpClient.cs
Kaynak:
SmtpClient.cs

SMTP sunucusuna bir QUIT iletisi gönderir, TCP bağlantısını düzgün bir şekilde sonlandırır ve sınıfın geçerli örneği SmtpClient tarafından kullanılan tüm kaynakları serbest bırakır.

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

Uygulamalar

Açıklamalar

Bir uygulama aynı SMTP sunucusuna birden çok ileti göndermek isterse, sınıfın SmtpClient geçerli örneği tarafından SMTP sunucusuna kurulan bağlantı yeniden kullanılabilir. Bu, özellikle kimlik doğrulaması veya şifreleme kullanıldığında SMTP sunucusuna bağlantı kurarken kullanışlıdır. TLS oturumunun kimliğini doğrulama ve oluşturma işlemi pahalı işlemler olabilir. Aynı SMTP sunucusuna büyük miktarda e-posta gönderirken her ileti için yeniden bağlantı kurma gereksinimi, performansı önemli ölçüde etkileyebilir. E-posta durum güncelleştirmelerini, bülten dağıtımlarını veya e-posta uyarılarını gönderen çok sayıda yüksek hacimli e-posta uygulaması vardır. Ayrıca birçok e-posta istemci uygulaması, kullanıcıların SMTP sunucusuna bir bağlantı kurulduğunda daha sonra gönderilen birçok e-posta iletisi oluşturabileceği bir off-line modunu destekler. Bir e-posta istemcisinin tüm SMTP iletilerini belirli bir SMTP sunucusuna (İnternet hizmet sağlayıcısı tarafından sağlanan) göndermesi ve ardından bu e-postayı diğer SMTP sunucularına iletmesi normaldir.

SmtpClient Sınıf uygulaması SMTP bağlantılarını havuza alır, böylece aynı sunucuya yönelik her ileti için yeniden bağlantı kurma yükünü önleyebilir. Bir uygulama aynı SmtpClient SMTP sunucusuna ve birçok farklı SMTP sunucusuna birçok farklı e-posta göndermek için aynı nesneyi yeniden kullanabilir. Sonuç olarak, bir uygulamanın nesnesini kullanmayı ne zaman bitirdiğini ve temizlenmesi gerektiğini belirlemenin SmtpClient bir yolu yoktur.

BIR SMTP oturumu tamamlandığında ve istemci bağlantıyı sonlandırmak istediğinde, gönderilecek başka ileti olmadığını belirtmek için sunucuya bir QUIT iletisi göndermesi gerekir. Bu, sunucunun istemciden bağlantıyla ilişkili kaynakları boşaltmasına ve istemci tarafından gönderilen iletileri işlemesine olanak tanır.

Dispose Zaman uyumsuz SendAsync bir işlem yürüten bir SmtpClient nesnede yöntemini çağırmak, gönderme işlemini yöntemi çağrılmış gibi SendAsyncCancel iptal eder.

Sınıfın SmtpClient yöntemi yok Finalize . Bu nedenle, bir uygulamanın kaynakları açıkça boşaltmak için çağrısı Dispose yapması gerekir.

yöntemi, Dispose özelliğinde Host belirtilen SMTP sunucusuna kurulan tüm bağlantılar aracılığıyla yinelenir ve ardından TCP bağlantısını düzgün bir şekilde sonlandıran bir QUIT iletisi gönderir. yöntemi, Dispose temel Socketalınan tarafından kullanılan yönetilmeyen kaynakları da serbest bırakır.

kullanmayı bitirdiğinizde öğesini çağırın DisposeSmtpClient. yöntemi, Dispose öğesini SmtpClient kullanılamaz durumda bırakır. çağrısından Disposesonra, çöp toplayıcının SmtpClient , yer kaplayan belleği geri kazanabilmesi için tüm başvurularını SmtpClient serbest bırakmanız gerekir.

Daha fazla bilgi için bkz. Yönetilmeyen Kaynakları Temizleme ve Atma Yöntemi Uygulama.

Uyarı

öğesine son başvurunuzu SmtpClientyayınlamadan önce her zaman arayınDispose. Aksi takdirde, çöp toplayıcı belleği geri kazanabilmesi için kullandığı kaynaklar serbest kalır.

Şunlara uygulanır

Dispose(Boolean)

Kaynak:
SmtpClient.cs
Kaynak:
SmtpClient.cs
Kaynak:
SmtpClient.cs
Kaynak:
SmtpClient.cs
Kaynak:
SmtpClient.cs

SMTP sunucusuna BIR QUIT iletisi gönderir, TCP bağlantısını düzgün bir şekilde sonlandırır, sınıfın SmtpClient geçerli örneği tarafından kullanılan tüm kaynakları serbest bırakır ve isteğe bağlı olarak yönetilen kaynakları atar.

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)

Parametreler

disposing
Boolean

true hem yönetilen hem de yönetilmeyen kaynakları serbest bırakmak için; false yalnızca yönetilmeyen kaynakları serbest bırakır.

Açıklamalar

Bir uygulama aynı SMTP sunucusuna birden çok ileti göndermek isterse, sınıfın SmtpClient geçerli örneği tarafından SMTP sunucusuna kurulan bağlantı yeniden kullanılabilir. Bu, özellikle kimlik doğrulaması veya şifreleme kullanıldığında SMTP sunucusuna bağlantı kurarken kullanışlıdır. TLS oturumunun kimliğini doğrulama ve oluşturma işlemi pahalı işlemler olabilir. Aynı SMTP sunucusuna büyük miktarda e-posta gönderirken her ileti için yeniden bağlantı kurma gereksinimi, performansı önemli ölçüde etkileyebilir. E-posta durum güncelleştirmelerini, bülten dağıtımlarını veya e-posta uyarılarını gönderen çok sayıda yüksek hacimli e-posta uygulaması vardır. Ayrıca birçok e-posta istemci uygulaması, kullanıcıların SMTP sunucusuna bir bağlantı kurulduğunda daha sonra gönderilen birçok e-posta iletisi oluşturabileceği bir off-line modunu destekler. Bir e-posta istemcisinin tüm SMTP iletilerini belirli bir SMTP sunucusuna (İnternet hizmet sağlayıcısı tarafından sağlanan) göndermesi ve ardından bu e-postayı diğer SMTP sunucularına iletmesi normaldir.

SmtpClient Sınıf uygulaması SMTP bağlantılarını havuza alır, böylece aynı sunucuya yönelik her ileti için yeniden bağlantı kurma yükünü önleyebilir. Bir uygulama aynı SmtpClient SMTP sunucusuna ve birçok farklı SMTP sunucusuna birçok farklı e-posta göndermek için aynı nesneyi yeniden kullanabilir. Sonuç olarak, bir uygulamanın nesnesini kullanmayı ne zaman bitirdiğini ve temizlenmesi gerektiğini belirlemenin SmtpClient bir yolu yoktur.

BIR SMTP oturumu tamamlandığında ve istemci bağlantıyı sonlandırmak istediğinde, gönderilecek başka ileti olmadığını belirtmek için sunucuya bir QUIT iletisi göndermesi gerekir. Bu, sunucunun istemciden bağlantıyla ilişkili kaynakları boşaltmasına ve istemci tarafından gönderilen iletileri işlemesine olanak tanır.

Dispose Zaman uyumsuz SendAsync bir işlem yürüten bir SmtpClient nesnede yöntemini çağırmak, gönderme işlemini yöntemi çağrılmış gibi SendAsyncCancel iptal eder.

Sınıfın SmtpClient yöntemi yok Finalize . Bu nedenle, bir uygulamanın kaynakları açıkça boşaltmak için çağrısı Dispose yapması gerekir.

yöntemi, Dispose özelliğinde Host belirtilen SMTP sunucusuna kurulan tüm bağlantılar aracılığıyla yinelenir ve ardından TCP bağlantısını düzgün bir şekilde sonlandıran bir QUIT iletisi gönderir. Dispose yöntemi ayrıca tarafından Socket kullanılan yönetilmeyen kaynakları serbest bırakır ve isteğe bağlı olarak yönetilen kaynakları atılır.

kullanmayı bitirdiğinizde öğesini çağırın DisposeSmtpClient. yöntemi, Dispose öğesini SmtpClient kullanılamaz durumda bırakır. çağrısından Disposesonra, çöp toplayıcının SmtpClient , yer kaplayan belleği geri kazanabilmesi için tüm başvurularını SmtpClient serbest bırakmanız gerekir.

Daha fazla bilgi için bkz. Yönetilmeyen Kaynakları Temizleme ve Atma Yöntemi Uygulama.

Uyarı

öğesine son başvurunuzu SmtpClientyayınlamadan önce her zaman arayınDispose. Aksi takdirde, çöp toplayıcı belleği geri kazanabilmesi için kullandığı kaynaklar serbest kalır.

Şunlara uygulanır