我正在使用以下代码在本地驱动器中创建一个包含内容的文件。
File.WriteAllLines(path, contents);
我将此文件附加到邮件并发送给整个团队。发送邮件后,我需要删除文件,以删除我在下面的代码中使用的文件,但出现运行时错误
File.Delete(path);
错误消息:该进程无法访问该文件,因为它正在被另一个进程使用
默认情况下,WriteAllLines() 方法会关闭文件,但它仍然被另一个进程打开。我只能在一段时间后通过执行代码来删除文件,但这不是场景。邮件发送后,我需要将其删除。
更新
System.Net.Mail.MailMessage mailMessage = new System.Net.Mail.MailMessage();
mailMessage.To.Add(new System.Net.Mail.MailAddress(recipient, ToName));
mailMessage.From = new System.Net.Mail.MailAddress(From, FromName);
mailMessage.Subject = Subject; // "Outlook calendar as attachment"; // modified by Srikanth J on 28/06/2012
mailMessage.Body = "This is a test message";
System.Net.WebClient webclient = new System.Net.WebClient();
webclient.Credentials = System.Net.CredentialCache.DefaultNetworkCredentials;
for (int i = 0; i < item.Attachments.Count; i++)
{
string url = item.Attachments.UrlPrefix + item.Attachments[i];
SPFile file = item.ParentList.ParentWeb.GetFile(url);
mailMessage.Attachments.Add(new System.Net.Mail.Attachment(file.OpenBinaryStream(), file.Name));
}
System.Net.Mail.Attachment mailAttachment = new System.Net.Mail.Attachment(path);
mailMessage.Attachments.Add(mailAttachment);
smtp.Send(mailMessage);
任何帮助都是appriciated,谢谢。