【发布时间】:2011-03-25 21:12:02
【问题描述】:
我正在使用带有 .NET 4.0 的 Visual Studios 2010。
我正在将本地硬盘驱动器中的文件附加到 MailMessage(即MailMessage.Attachements.Add(Attachment))。执行SmtpClient.Send(MailMessage) 命令后,我遍历附件路径并执行File.Delete(string path)。但是,我立即得到一个@ 987654324@.
System.IO.IOException:进程无法访问文件“c:\temp\test.docx”,因为它正被另一个进程使用。 在 System.IO.__Error.WinIOError(Int32 错误代码,字符串可能全路径) 在 System.IO.File.Delete(字符串路径) ...
我想也许我无法删除大文件,因为在 SmtpClient.Send 命令期间它仍在流式传输。但是,这似乎发生在所有大小(2 KB 到 8 MB)的文件中。有人可以澄清发生了什么吗?
在我发出 File.Delete 调用之前,有没有办法确保 SmtpClient.Send 调用完成(它已完全发送带有附件的电子邮件并释放文件/附件的所有锁定)?
【问题讨论】:
标签: c# email attachment