这让我疯了。
我从邮箱中检索了一堆电子邮件,并将它们保存为文件夹中的文件。 邮箱中目前只有一封邮件(这个特定邮件不是问题,也尝试过其他邮件)。 检索后,我将邮件主题与唯一的GUID字符串连接起来,将其另存为文件,并在另一个文件夹中创建该文件的另一个副本。 这反复给我一个IOException,说无法访问DESTINATION FILE(因为它据称被另一个进程使用)。 此时目标文件不存在,因此无法使用。
希望任何人都可以提供帮助或者提示。
提前致谢。
此致 凯文
编辑(更多信息)
private static void _backupMailFile(string sourceFile, string destinationFile)
{
log.Info(String.Format("Archiving mail file '{0}' to '{1}'", sourceFile, destinationFile));
try
{
File.Copy(sourceFile, destinationFile);
}
catch (Exception ex)
{
log.Error("Error while archiving mail: " + sourceFile, ex);
}
}
sourceFile =“D:\ Development \ POP3toSCSM \ POP3toSCSM \ bin \ Debug \ TempMails \ AW_ Outlook Web App Light-47459c48-8c8c-4c51-be63-e6e2ddcc54d3.eml”
destinationFile =“C:\ MailIn \ Archive \ AW_ Outlook Web App Light-47459c48-8c8c-4c51-be63-e6e2ddcc54d3.eml”
此时文件夹“C:\ MailIn \ Archive”为空。
权限有效。
再次感谢。
答案 0 :(得分:0)
它是Chilkat组件(怀疑)或我的'LoadEml'方法的包装类。一旦我从邮箱中检索到最后一封邮件后添加System.Threading.Thread.Sleep(250),一切正常。 但是你不同意目标路径没有任何问题,而不是异常消息读取的内容吗?
修改的 猜猜我错了: - (
堆栈跟踪:
StackTrace =“bei System.IO .__ Error.WinIOError(Int32 errorCode,String maybeFullPath)\ r \ n bei System.IO.File.InternalCopy(String sourceFileName,String destFileName,Boolean overwrite)\ r \ n bei System。 IO.File.Copy(String sourceFileName,String destFileName)\ r \ n ...