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 SmtpClient geçerli örneği tarafından kullanılan tüm kaynakları serbest bırakır.

Aşırı Yüklemeler

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 SmtpClient geçerli örneği 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ı atılır.

Açıklamalar

Bir uygulama aynı SMTP sunucusuna birden çok ileti göndermek isterse, sınıfın geçerli örneği SmtpClient 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 kurma 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ştirmeleri, bülten dağıtımları veya e-posta uyarıları 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 daha sonra SMTP sunucusuna bağlantı kurulduğunda gönderilen çok sayıda e-posta iletisi oluşturabileceği bir off-line modunu destekler. Bir e-posta istemcisinin tüm SMTP iletilerini belirli bir SMTP sunucusuna (İnternet servis sağlayıcısı tarafından sağlanır) göndermesi normaldir ve bu e-postayı diğer SMTP sunucularına iletir.

SmtpClient Sınıf uygulaması SMTP bağlantılarını havuza alır, böylece her ileti için aynı sunucuya yeniden bağlantı kurma yükünden kaçınabilir. 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 kullanarak ne zaman biteceğini belirlemenin SmtpClient bir yolu yoktur ve temizlenmelidir.

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

Yöntemler, Dispose tüm kurulan bağlantılar arasında 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

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 SmtpClient geçerli örneği 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 geçerli örneği SmtpClient 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 kurma 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ştirmeleri, bülten dağıtımları veya e-posta uyarıları 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 daha sonra SMTP sunucusuna bağlantı kurulduğunda gönderilen çok sayıda e-posta iletisi oluşturabileceği bir off-line modunu destekler. Bir e-posta istemcisinin tüm SMTP iletilerini belirli bir SMTP sunucusuna (İnternet servis sağlayıcısı tarafından sağlanır) göndermesi normaldir ve bu e-postayı diğer SMTP sunucularına iletir.

SmtpClient Sınıf uygulaması SMTP bağlantılarını havuza alır, böylece her ileti için aynı sunucuya yeniden bağlantı kurma yükünden kaçınabilir. 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 kullanarak ne zaman biteceğini belirlemenin SmtpClient bir yolu yoktur ve temizlenmelidir.

Bir SMTP oturumu tamamlandığında ve istemci bağlantıyı sonlandırmak istediğinde, sunucuya gönderilecek başka ileti olmadığını belirtmek için bir QUIT iletisi göndermelidir. 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 bir işlem yürüten bir SmtpClient nesnede yönteminin SendAsync çağrılması, yöntem çağrılmış gibi SendAsyncCancel gönderme işlemini iptal eder.

sınıfını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ı yineler ve BIR QUIT iletisi gönderir ve ardından TCP bağlantısını düzgün bir şekilde sonlandırır. yöntemi, Dispose temel alınan Sockettarafından kullanılan yönetilmeyen kaynakları da serbest bırakır.

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

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

Not

öğesine son başvurunuzu yayınlamadan önce her zaman çağrısında Dispose bulunur SmtpClient. Aksi takdirde, kullandığı kaynaklar boşaltılmaz, bu nedenle çöp toplayıcı belleği geri kazanabilir.

Şunlara uygulanır

Dispose(Boolean)

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ı atılır.

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 geçerli örneği SmtpClient 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 kurma 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ştirmeleri, bülten dağıtımları veya e-posta uyarıları 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 daha sonra SMTP sunucusuna bağlantı kurulduğunda gönderilen çok sayıda e-posta iletisi oluşturabileceği bir off-line modunu destekler. Bir e-posta istemcisinin tüm SMTP iletilerini belirli bir SMTP sunucusuna (İnternet servis sağlayıcısı tarafından sağlanır) göndermesi normaldir ve bu e-postayı diğer SMTP sunucularına iletir.

SmtpClient Sınıf uygulaması SMTP bağlantılarını havuza alır, böylece her ileti için aynı sunucuya yeniden bağlantı kurma yükünden kaçınabilir. 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 kullanarak ne zaman biteceğini belirlemenin SmtpClient bir yolu yoktur ve temizlenmelidir.

Bir SMTP oturumu tamamlandığında ve istemci bağlantıyı sonlandırmak istediğinde, sunucuya gönderilecek başka ileti olmadığını belirtmek için bir QUIT iletisi göndermelidir. 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 bir işlem yürüten bir SmtpClient nesnede yönteminin SendAsync çağrılması, yöntem çağrılmış gibi SendAsyncCancel gönderme işlemini iptal eder.

sınıfını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ı yineler ve BIR QUIT iletisi gönderir ve ardından TCP bağlantısını düzgün bir şekilde sonlandırır. yöntemi ayrıca Dispose 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. Dispose yöntemi, öğesini SmtpClient kullanılamaz durumda bırakır. çağrısından Disposesonra, çöp toplayıcısının SmtpClient kaplayan belleği SmtpClient geri kazanabilmesi için tüm başvurularını serbest bırakmanız gerekir.

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

Not

öğesine son başvurunuzu yayınlamadan önce her zaman çağrısında Dispose bulunur SmtpClient. Aksi takdirde, kullandığı kaynaklar boşaltılmaz, bu nedenle çöp toplayıcı belleği geri kazanabilir.

Şunlara uygulanır