关闭文件附加到电子邮件System.Net.Mail

Joe*_*man 1 c# system.net.mail

我有一个文件,我附加到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);
Run Code Online (Sandbox Code Playgroud)

在我调用该方法后,它不允许我再次写入该文件而没有错误.

vcs*_*nes 7

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);
}
Run Code Online (Sandbox Code Playgroud)

同样,如果您使用的是.NET Framework 4.0; SmtpClient也是一次性的.如果您使用的是4.0 Framework,请将其丢弃.完成使用后,您应该始终处理实现IDisposable接口的内容.