【问题标题】:Should SmtpClient be created (and disposed) per message?是否应该为每条消息创建(和处置) SmtpClient?
【发布时间】:2016-02-23 16:52:17
【问题描述】:

在创建/处置对象方面使用 SmtpClient 的正确方法是什么。每条消息我都有一个 SmtpClient,但如果我想发送多封电子邮件,我不确定这是否正确。也许创建客户端、发送多条消息然后处置更有效/更合适?

public void SendMail(MailMessage mail)
{
    using (var smtpClient = new SmtpClient())
    {
        smtpClient.Send(mail);
    }
}

【问题讨论】:

    标签: c# .net email smtp smtpclient


    【解决方案1】:

    查看SmtpClient 的源代码,它似乎是为了打开多个连接而构建的。使用它在一个紧密的循环中发送多条消息对我来说似乎不是问题(不要让对象存活数小时,准备好发送后立即处理它)。

    创建和处置对象可能会对您的性能产​​生负面影响,因此这是不创建大量对象的一个​​很好的理由。

    【讨论】:

    • 我看到的大多数示例都出于某种原因立即将其丢弃,因此我认为应该对此进行一些解释...我不会发送太多电子邮件,因此丢弃它可能是有意义的那么
    • 示例通常是指出某事所需的最短代码。它们不一定是要走的路。
    猜你喜欢
    • 2012-10-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-26
    • 2019-06-12
    • 2021-10-15
    • 2014-08-10
    相关资源
    最近更新 更多