我有一个文件附加到ASP.NET应用程序中的电子邮件中。问题是该过程不会放开文件。如何在方法中关闭文件,以便可以在程序中再次使用它?

Attachment data = new Attachment(@"\\WIN-UWPWZ7Z3RKX\wwwroot\katipro\skus.txt");
m.Attachments.Add(data);

SmtpClient s = new SmtpClient("smtp.gmail.com", 587);
s.Send(m);


调用该方法后,它不允许我无误地再次写入该文件。

最佳答案

System.Net.Mail.Attachment实现IDisposable。您需要处理附件。

using(Attachment data = new Attachment(@"\\WIN-UWPWZ7Z3RKX\wwwroot\katipro\skus.txt"))
{
    m.Attachments.Add(data);

    SmtpClient s = new SmtpClient("smtp.gmail.com", 587);
    s.Send(m);
}


同样,如果您使用的是.NET Framework 4.0, SmtpClient也是一次性的。因此,如果您使用的是4.0 Framework,请将其丢弃。使用完IDisposable接口后,应始终将它们丢弃。

关于c# - 关闭文件附加到电子邮件System.Net.Mail,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7367701/

10-13 07:35