邮件发送成功后,想移除文件做备份,但是正由另一进程使用,因此该进程无法访问此文件
各位高人,请指点一下小弟啊, 我有个发送邮件程序,可以发送成功的, 但是发送成功之后, 我想把这些文件都移到另外一个目录里,就不行了。 报正由另一进程使用,因此该进程无法访问此文件。 请帮忙看下啊。
//发送邮件
MailMessage mm = EmailManager.Instance.GetMailMessage(to, cc, txtobj.MAILTITLE, txtobj.MAILNOTE, att);
//路径丢进去
EmailManager.Instance.Send(mm);
//测试
string backupreportnamepath = "";
foreach (string txt in txtobj.MAILATT.Split(','))
{
FileInfo fi = new FileInfo(txt);
//根目录
string backuprootpath = ConfigurationManager.AppSettings["BackUpPath"];
//根目录+当天日期文件夹
string backupdatetimepath = backuprootpath + "\\" + DateTime.Now.ToString("yyyyMMdd");
//根目录+当天日期文件夹+VendorName文件夹
string backupvendornamepath = backupdatetimepath + "\\" + fi.Directory.Parent.Name;
//string backupvendornamepath = backupdatetimepath + "\\" + di.Parent.Name;
//根目录+当天日期文件夹+VendorName文件夹+当前发送完邮件的这个文件夹
backupreportnamepath = backupvendornamepath + "\\" + fi.Directory.Name;
//判断是否有备份主目录
if (!Directory.Exists(backuprootpath))
Directory.CreateDirectory(backuprootpath);
//创建当天生成文件夹
if (!Directory.Exists(backupdatetimepath))
Directory.CreateDirectory(backupdatetimepath);
//判断是否有 根目录+当天日期文件夹+VendorName文件夹
if (!Directory.Exists(backupvendornamepath))
Directory.CreateDirectory(backupvendornamepath);
//创建 根目录+当天日期文件夹+VendorName文件夹+当前发送完邮件的这个文件夹
if (!Directory.Exists(backupreportnamepath))
Directory.CreateDirectory(backupreportnamepath);
fi.CopyTo(backupreportnamepath + "\\" + fi.Name, true);
fi.Delete();
}
FileInfo fitxt = new FileInfo(txtobj.TXTNAME);
fitxt.CopyTo(backupreportnamepath + "\\" + Path.GetFileName(txtobj.TXTNAME), true);
fitxt.Delete();
}
这是为什么啊? 在线等。。。。。
------解决方案--------------------