Skip to main content
 首页 » 编程设计

c#之关闭附加到电子邮件 System.Net.Mail 的文件

2024年01月13日45EasonJim

我在 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 接口(interface)的东西时,您应该始终处理它们。